use of android.os.ResultReceiver in project android_frameworks_base by crdroidandroid.
the class Tethering method getProxyReceiver.
/**
* Creates a proxy {@link ResultReceiver} which enables tethering if the provsioning result is
* successful before firing back up to the wrapped receiver.
*
* @param type The type of tethering being enabled.
* @param receiver A ResultReceiver which will be called back with an int resultCode.
* @return The proxy receiver.
*/
private ResultReceiver getProxyReceiver(final int type, final ResultReceiver receiver) {
ResultReceiver rr = new ResultReceiver(null) {
@Override
protected void onReceiveResult(int resultCode, Bundle resultData) {
// If provisioning is successful, enable tethering, otherwise just send the error.
if (resultCode == ConnectivityManager.TETHER_ERROR_NO_ERROR) {
enableTetheringInternal(type, true, receiver);
} else {
sendTetherResult(receiver, resultCode);
}
}
};
// The following is necessary to avoid unmarshalling issues when sending the receiver
// across processes.
Parcel parcel = Parcel.obtain();
rr.writeToParcel(parcel, 0);
parcel.setDataPosition(0);
ResultReceiver receiverForSending = ResultReceiver.CREATOR.createFromParcel(parcel);
parcel.recycle();
return receiverForSending;
}
use of android.os.ResultReceiver in project android_frameworks_base by crdroidandroid.
the class Tethering method runSilentTetherProvisioningAndEnable.
private void runSilentTetherProvisioningAndEnable(int type, ResultReceiver receiver) {
ResultReceiver proxyReceiver = getProxyReceiver(type, receiver);
sendSilentTetherProvisionIntent(type, proxyReceiver);
}
use of android.os.ResultReceiver in project android_frameworks_base by crdroidandroid.
the class Tethering method runUiTetherProvisioningAndEnable.
private void runUiTetherProvisioningAndEnable(int type, ResultReceiver receiver) {
ResultReceiver proxyReceiver = getProxyReceiver(type, receiver);
sendUiTetherProvisionIntent(type, proxyReceiver);
}
use of android.os.ResultReceiver in project android_frameworks_base by crdroidandroid.
the class ShortcutManagerTest7 method callShellCommand.
private List<String> callShellCommand(String... args) throws IOException, RemoteException {
// For reset to work, the current time needs to be incrementing.
mInjectedCurrentTimeMillis++;
final AtomicInteger resultCode = new AtomicInteger(Integer.MIN_VALUE);
final ResultReceiver rr = new ResultReceiver(mHandler) {
@Override
public void send(int resultCode_, Bundle resultData) {
resultCode.set(resultCode_);
}
};
final File out = File.createTempFile("shellout-", ".tmp", getTestContext().getCacheDir());
try {
try (final ParcelFileDescriptor fd = ParcelFileDescriptor.open(out, ParcelFileDescriptor.MODE_READ_WRITE)) {
mService.onShellCommand(/* fdin*/
null, /* fdout*/
fd.getFileDescriptor(), /* fderr*/
fd.getFileDescriptor(), args, rr);
}
return readAll(out);
} finally {
out.delete();
}
}
use of android.os.ResultReceiver in project restful-android by jeremyhaberman.
the class TwitterServiceHelper method getTimeline.
public long getTimeline() {
long requestId = generateRequestID();
requests.put(timelineHashkey, requestId);
ResultReceiver serviceCallback = new ResultReceiver(null) {
@Override
protected void onReceiveResult(int resultCode, Bundle resultData) {
handleGetTimelineResponse(resultCode, resultData);
}
};
Intent intent = new Intent(this.ctx, TwitterService.class);
intent.putExtra(TwitterService.METHOD_EXTRA, TwitterService.METHOD_GET);
intent.putExtra(TwitterService.RESOURCE_TYPE_EXTRA, TwitterService.RESOURCE_TYPE_TIMELINE);
intent.putExtra(TwitterService.SERVICE_CALLBACK, serviceCallback);
intent.putExtra(REQUEST_ID, requestId);
this.ctx.startService(intent);
return requestId;
}
Aggregations