private void updateFlingerOptions() { // magic communication with surface flinger. try { IBinder flinger = ServiceManager.getService("SurfaceFlinger"); if (flinger != null) { Parcel data = Parcel.obtain(); Parcel reply = Parcel.obtain(); data.writeInterfaceToken("android.ui.ISurfaceComposer"); flinger.transact(1010, data, reply, 0); @SuppressWarnings("unused") int showCpu = reply.readInt(); @SuppressWarnings("unused") int enableGL = reply.readInt(); int showUpdates = reply.readInt(); updateCheckBox(mShowScreenUpdates, showUpdates != 0); @SuppressWarnings("unused") int showBackground = reply.readInt(); int disableOverlays = reply.readInt(); updateCheckBox(mDisableOverlays, disableOverlays != 0); reply.recycle(); data.recycle(); } } catch (RemoteException ex) { } }
@Override // Binder call public void registerCallback(IDisplayManagerCallback callback) { if (callback == null) { throw new IllegalArgumentException("listener must not be null"); } synchronized (mSyncRoot) { int callingPid = Binder.getCallingPid(); if (mCallbacks.get(callingPid) != null) { throw new SecurityException( "The calling process has already " + "registered an IDisplayManagerCallback."); } CallbackRecord record = new CallbackRecord(callingPid, callback); try { IBinder binder = callback.asBinder(); binder.linkToDeath(record, 0); } catch (RemoteException ex) { // give up throw new RuntimeException(ex); } mCallbacks.put(callingPid, record); } }
@Override protected Void doInBackground(Void... params) { String[] services; try { services = ServiceManager.listServices(); } catch (RemoteException e) { return null; } for (String service : services) { IBinder obj = ServiceManager.checkService(service); if (obj != null) { Parcel data = Parcel.obtain(); try { obj.transact(IBinder.SYSPROPS_TRANSACTION, data, null, 0); } catch (RemoteException e) { } catch (Exception e) { Log.i( "DevSettings", "Somone wrote a bad service '" + service + "' that doesn't like to be poked: " + e); } data.recycle(); } } return null; }
private void registerClientLocked(IMediaRouterClient client, int pid, String packageName, int userId, boolean trusted) { final IBinder binder = client.asBinder(); ClientRecord clientRecord = mAllClientRecords.get(binder); if (clientRecord == null) { boolean newUser = false; UserRecord userRecord = mUserRecords.get(userId); if (userRecord == null) { userRecord = new UserRecord(userId); newUser = true; } clientRecord = new ClientRecord(userRecord, client, pid, packageName, trusted); try { binder.linkToDeath(clientRecord, 0); } catch (RemoteException ex) { throw new RuntimeException("Media router client died prematurely.", ex); } if (newUser) { mUserRecords.put(userId, userRecord); initializeUserLocked(userRecord); } userRecord.mClientRecords.add(clientRecord); mAllClientRecords.put(binder, clientRecord); initializeClientLocked(clientRecord); } }
@SuppressWarnings("unchecked") private ParceledListSlice(Parcel p, ClassLoader loader) { final int N = p.readInt(); mList = new ArrayList<T>(N); if (DEBUG) Log.d(TAG, "Retrieving " + N + " items"); if (N <= 0) { return; } Parcelable.Creator<?> creator = p.readParcelableCreator(loader); Class<?> listElementClass = null; int i = 0; while (i < N) { if (p.readInt() == 0) { break; } final T parcelable = p.readCreator(creator, loader); if (listElementClass == null) { listElementClass = parcelable.getClass(); } else { verifySameType(listElementClass, parcelable.getClass()); } mList.add(parcelable); if (DEBUG) Log.d(TAG, "Read inline #" + i + ": " + mList.get(mList.size() - 1)); i++; } if (i >= N) { return; } final IBinder retriever = p.readStrongBinder(); while (i < N) { if (DEBUG) Log.d(TAG, "Reading more @" + i + " of " + N + ": retriever=" + retriever); Parcel data = Parcel.obtain(); Parcel reply = Parcel.obtain(); data.writeInt(i); try { retriever.transact(IBinder.FIRST_CALL_TRANSACTION, data, reply, 0); } catch (RemoteException e) { Log.w(TAG, "Failure retrieving array; only received " + i + " of " + N, e); return; } while (i < N && reply.readInt() != 0) { final T parcelable = reply.readCreator(creator, loader); verifySameType(listElementClass, parcelable.getClass()); mList.add(parcelable); if (DEBUG) Log.d(TAG, "Read extra #" + i + ": " + mList.get(mList.size() - 1)); i++; } reply.recycle(); data.recycle(); } }
public void onReceive(Context context, Intent intent) { try { IBinder caller = intent.getIBinderExtra("caller"); Parcel data = Parcel.obtain(); data.writeInterfaceToken(LaunchpadActivity.LAUNCH); data.writeString(BroadcastTest.RECEIVER_REMOTE); caller.transact(BroadcastTest.GOT_RECEIVE_TRANSACTION, data, null, 0); data.recycle(); } catch (RemoteException ex) { } }
private void writeFlingerOptions() { try { IBinder flinger = ServiceManager.getService("SurfaceFlinger"); if (flinger != null) { Parcel data = Parcel.obtain(); data.writeInterfaceToken("android.ui.ISurfaceComposer"); data.writeInt(mShowScreenUpdates.isChecked() ? 1 : 0); flinger.transact(1002, data, null, 0); data.recycle(); updateFlingerOptions(); } } catch (RemoteException ex) { } }
@Override public void sendAnnounce( int id, java.lang.String imageAnnounce, java.lang.String header, java.lang.String body, long timestamp, java.lang.String openInPhoneAction) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(id); _data.writeString(imageAnnounce); _data.writeString(header); _data.writeString(body); _data.writeLong(timestamp); _data.writeString(openInPhoneAction); mRemote.transact(Stub.TRANSACTION_sendAnnounce, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } }
public boolean isMyLocationButtonEnabled() throws RemoteException { Parcel parcel; Parcel parcel1; boolean flag; flag = false; parcel = Parcel.obtain(); parcel1 = Parcel.obtain(); int i; parcel.writeInterfaceToken("com.google.android.gms.maps.internal.IUiSettingsDelegate"); kn.transact(11, parcel, parcel1, 0); parcel1.readException(); i = parcel1.readInt(); if (i != 0) { flag = true; } parcel1.recycle(); parcel.recycle(); return flag; Exception exception; exception; parcel1.recycle(); parcel.recycle(); throw exception; }
@Override public int register( com.sonyericsson.extras.liveview.IPluginServiceCallbackV1 cb, java.lang.String imageMenu, java.lang.String pluginName, boolean selectableMenu, java.lang.String packageName) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); int _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((cb != null)) ? (cb.asBinder()) : (null))); _data.writeString(imageMenu); _data.writeString(pluginName); _data.writeInt(((selectableMenu) ? (1) : (0))); _data.writeString(packageName); mRemote.transact(Stub.TRANSACTION_register, _data, _reply, 0); _reply.readException(); _result = _reply.readInt(); } finally { _reply.recycle(); _data.recycle(); } return _result; }
private void writeDisableOverlaysOption() { try { IBinder flinger = ServiceManager.getService("SurfaceFlinger"); if (flinger != null) { Parcel data = Parcel.obtain(); data.writeInterfaceToken("android.ui.ISurfaceComposer"); final int disableOverlays = mDisableOverlays.isChecked() ? 1 : 0; data.writeInt(disableOverlays); flinger.transact(1008, data, null, 0); data.recycle(); updateFlingerOptions(); } } catch (RemoteException ex) { } }
public void setZoomGesturesEnabled(boolean flag) throws RemoteException { Parcel parcel; Parcel parcel1; int i; i = 0; parcel = Parcel.obtain(); parcel1 = Parcel.obtain(); parcel.writeInterfaceToken("com.google.android.gms.maps.internal.IUiSettingsDelegate"); if (flag) { i = 1; } parcel.writeInt(i); kn.transact(5, parcel, parcel1, 0); parcel1.readException(); parcel1.recycle(); parcel.recycle(); return; Exception exception; exception; parcel1.recycle(); parcel.recycle(); throw exception; }
public fk a(b b1, int i, int j, int k, String s) throws RemoteException { Parcel parcel; Parcel parcel1; parcel = Parcel.obtain(); parcel1 = Parcel.obtain(); parcel.writeInterfaceToken("com.google.android.gms.plus.internal.IPlusService"); if (b1 == null) { break MISSING_BLOCK_LABEL_103; } b1 = b1.asBinder(); _L1: parcel.writeStrongBinder(b1); parcel.writeInt(i); parcel.writeInt(j); parcel.writeInt(k); parcel.writeString(s); kn.transact(16, parcel, parcel1, 0); parcel1.readException(); b1 = com.google.android.gms.internal.fk.a.A(parcel1.readStrongBinder()); parcel1.recycle(); parcel.recycle(); return b1; b1 = null; goto _L1
public final void scheduleStopService(IBinder token) throws RemoteException { Parcel data = Parcel.obtain(); data.writeInterfaceToken(IApplicationThread.descriptor); data.writeStrongBinder(token); mRemote.transact(SCHEDULE_STOP_SERVICE_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); data.recycle(); }
public boolean onMyLocationButtonClick() throws RemoteException { Parcel parcel; Parcel parcel1; boolean flag; flag = true; parcel = Parcel.obtain(); parcel1 = Parcel.obtain(); int i; parcel.writeInterfaceToken("com.google.android.gms.maps.internal.IOnMyLocationButtonClickListener"); zzle.transact(1, parcel, parcel1, 0); parcel1.readException(); i = parcel1.readInt(); if (i == 0) { flag = false; } parcel1.recycle(); parcel.recycle(); return flag; Exception exception; exception; parcel1.recycle(); parcel.recycle(); throw exception; }
public void scheduleCrash(String msg) throws RemoteException { Parcel data = Parcel.obtain(); data.writeInterfaceToken(IApplicationThread.descriptor); data.writeString(msg); mRemote.transact(SCHEDULE_CRASH_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); data.recycle(); }
@Override public com.xively.android.service.Response deleteDatapoint( int feedId, java.lang.String datastreamId, java.lang.String datapointAt) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); com.xively.android.service.Response _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(feedId); _data.writeString(datastreamId); _data.writeString(datapointAt); mRemote.transact(Stub.TRANSACTION_deleteDatapoint, _data, _reply, 0); _reply.readException(); if ((0 != _reply.readInt())) { _result = com.xively.android.service.Response.CREATOR.createFromParcel(_reply); } else { _result = null; } } finally { _reply.recycle(); _data.recycle(); } return _result; }
public void b(String s1, boolean flag) throws RemoteException { Parcel parcel; Parcel parcel1; int i; i = 0; parcel = Parcel.obtain(); parcel1 = Parcel.obtain(); parcel.writeInterfaceToken("com.google.android.gms.ads.identifier.internal.IAdvertisingIdService"); parcel.writeString(s1); if (flag) { i = 1; } parcel.writeInt(i); lb.transact(4, parcel, parcel1, 0); parcel1.readException(); parcel1.recycle(); parcel.recycle(); return; s1; parcel1.recycle(); parcel.recycle(); throw s1; }
public boolean isValidPurchase(String s) throws RemoteException { Parcel parcel; Parcel parcel1; boolean flag; flag = true; parcel = Parcel.obtain(); parcel1 = Parcel.obtain(); int i; parcel.writeInterfaceToken("com.google.android.gms.ads.internal.purchase.client.IPlayStorePurchaseListener"); parcel.writeString(s); a.transact(1, parcel, parcel1, 0); parcel1.readException(); i = parcel1.readInt(); if (i == 0) { flag = false; } parcel1.recycle(); parcel.recycle(); return flag; s; parcel1.recycle(); parcel.recycle(); throw s; }
@Override public int setupConnection( android.os.Bundle args, org.chromium.content.common.IChildProcessCallback callback) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); int _result; try { _data.writeInterfaceToken(DESCRIPTOR); if ((args != null)) { _data.writeInt(1); args.writeToParcel(_data, 0); } else { _data.writeInt(0); } _data.writeStrongBinder((((callback != null)) ? (callback.asBinder()) : (null))); mRemote.transact(Stub.TRANSACTION_setupConnection, _data, _reply, 0); _reply.readException(); _result = _reply.readInt(); } finally { _reply.recycle(); _data.recycle(); } return _result; }
public LatLng fromScreenLocation(d d1) { Object obj; Parcel parcel; Parcel parcel1; obj = null; parcel = Parcel.obtain(); parcel1 = Parcel.obtain(); parcel.writeInterfaceToken("com.google.android.gms.maps.internal.IProjectionDelegate"); if (d1 == null) { break MISSING_BLOCK_LABEL_83; } d1 = d1.asBinder(); _L1: parcel.writeStrongBinder(d1); kq.transact(1, parcel, parcel1, 0); parcel1.readException(); d1 = obj; if (parcel1.readInt() != 0) { d1 = LatLng.CREATOR.createFromParcel(parcel1); } parcel1.recycle(); parcel.recycle(); return d1; d1 = null; goto _L1
/** * Returns the current SKUs owned by the user of the type and package name specified along * with purchase information and a signature of the data to be validated. This will return all * SKUs that have been purchased in V3 and managed items purchased using V1 and V2 that have * not been consumed. * * @param apiVersion billing API version that the app is using * @param packageName package name of the calling app * @param type the type of the in-app items being requested ("inapp" for one-time purchases * and "subs" for subscription). * @param continuationToken to be set as null for the first call, if the number of owned skus * are too many, a continuationToken is returned in the response bundle. This method can * be called again with the continuation token to get the next set of owned skus. * @return Bundle containing the following key-value pairs "RESPONSE_CODE" with int value, * RESULT_OK(0) if success, other response codes on failure as listed above. * "INAPP_PURCHASE_ITEM_LIST" - StringArrayList containing the list of SKUs * "INAPP_PURCHASE_DATA_LIST" - StringArrayList containing the purchase information * "INAPP_DATA_SIGNATURE_LIST"- StringArrayList containing the signatures of the purchase * information "INAPP_CONTINUATION_TOKEN" - String containing a continuation token for the * next set of in-app purchases. Only set if the user has more owned skus than the current * list. */ @Override public android.os.Bundle getPurchases( int apiVersion, java.lang.String packageName, java.lang.String type, java.lang.String continuationToken) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); android.os.Bundle _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(apiVersion); _data.writeString(packageName); _data.writeString(type); _data.writeString(continuationToken); mRemote.transact(Stub.TRANSACTION_getPurchases, _data, _reply, 0); _reply.readException(); if ((0 != _reply.readInt())) { _result = android.os.Bundle.CREATOR.createFromParcel(_reply); } else { _result = null; } } finally { _reply.recycle(); _data.recycle(); } return _result; }
public void onServiceConnected(ComponentName className, IBinder service) { // Get the OpenUDID from the remote service try { // Send a random number to the service android.os.Parcel data = android.os.Parcel.obtain(); data.writeInt(mRandom.nextInt()); android.os.Parcel reply = android.os.Parcel.obtain(); service.transact(1, android.os.Parcel.obtain(), reply, 0); if (data.readInt() == reply.readInt()) // Check if the service returns us this number { final String _openUDID = reply.readString(); if (_openUDID != null) { // if valid OpenUDID, save it if (LOG) Log.d(TAG, "Received " + _openUDID); if (mReceivedOpenUDIDs.containsKey(_openUDID)) mReceivedOpenUDIDs.put(_openUDID, mReceivedOpenUDIDs.get(_openUDID) + 1); else mReceivedOpenUDIDs.put(_openUDID, 1); } } } catch (RemoteException e) { if (LOG) Log.e(TAG, "RemoteException: " + e.getMessage()); } mContext.unbindService(this); startService(); // Try the next one }
/** * This demonstrates the basic types that you can use as parameters and return values in AIDL. */ public void basicTypes( int anInt, long aLong, boolean aBoolean, float aFloat, double aDouble, java.lang.String aString) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(anInt); _data.writeLong(aLong); _data.writeInt(((aBoolean) ? (1) : (0))); _data.writeFloat(aFloat); _data.writeDouble(aDouble); _data.writeString(aString); mRemote.transact(Stub.TRANSACTION_basicTypes, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } }
/** Given the arguments in bundle form, returns a bundle for results. */ @Override public android.os.Bundle sendBillingRequest(android.os.Bundle bundle) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); android.os.Bundle _result; try { _data.writeInterfaceToken(DESCRIPTOR); if ((bundle != null)) { _data.writeInt(1); bundle.writeToParcel(_data, 0); } else { _data.writeInt(0); } mRemote.transact(Stub.TRANSACTION_sendBillingRequest, _data, _reply, 0); _reply.readException(); if ((0 != _reply.readInt())) { _result = android.os.Bundle.CREATOR.createFromParcel(_reply); } else { _result = null; } } finally { _reply.recycle(); _data.recycle(); } return _result; }
public final void requestThumbnail(IBinder token) throws RemoteException { Parcel data = Parcel.obtain(); data.writeInterfaceToken(IApplicationThread.descriptor); data.writeStrongBinder(token); mRemote.transact(REQUEST_THUMBNAIL_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); data.recycle(); }
public final void scheduleConfigurationChanged(Configuration config) throws RemoteException { Parcel data = Parcel.obtain(); data.writeInterfaceToken(IApplicationThread.descriptor); config.writeToParcel(data, 0); mRemote.transact(SCHEDULE_CONFIGURATION_CHANGED_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); data.recycle(); }
public void setSchedulingGroup(int group) throws RemoteException { Parcel data = Parcel.obtain(); data.writeInterfaceToken(IApplicationThread.descriptor); data.writeInt(group); mRemote.transact(SET_SCHEDULING_GROUP_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); data.recycle(); }
public boolean a(c c1) throws RemoteException { Parcel parcel; Parcel parcel1; boolean flag; flag = false; parcel = Parcel.obtain(); parcel1 = Parcel.obtain(); parcel.writeInterfaceToken("com.google.android.gms.maps.model.internal.IGroundOverlayDelegate"); if (c1 == null) { break MISSING_BLOCK_LABEL_77; } c1 = c1.asBinder(); _L1: int i; parcel.writeStrongBinder(c1); kn.transact(19, parcel, parcel1, 0); parcel1.readException(); i = parcel1.readInt(); if (i != 0) { flag = true; } parcel1.recycle(); parcel.recycle(); return flag; c1 = null; goto _L1
@DSGenerator( tool_name = "Doppelganger", tool_version = "2.0", generated_on = "2014-09-07 03:18:43.621 -0400", hash_original_method = "F734F687479909C039B4CE55836EDBA8", hash_generated_method = "AE15C647DA7C1BDF3023D909C73BD407") private ParceledListSlice(Parcel p, ClassLoader loader) { final int N = p.readInt(); mList = new ArrayList<T>(N); if (DEBUG) Log.d(TAG, "Retrieving " + N + " items"); if (N <= 0) { return; } Parcelable.Creator<T> creator = p.readParcelableCreator(loader); int i = 0; while (i < N) { if (p.readInt() == 0) { break; } mList.add(p.readCreator(creator, loader)); if (DEBUG) Log.d(TAG, "Read inline #" + i + ": " + mList.get(mList.size() - 1)); i++; } if (i >= N) { return; } final IBinder retriever = p.readStrongBinder(); while (i < N) { if (DEBUG) Log.d(TAG, "Reading more @" + i + " of " + N + ": retriever=" + retriever); Parcel data = Parcel.obtain(); Parcel reply = Parcel.obtain(); data.writeInt(i); try { retriever.transact(IBinder.FIRST_CALL_TRANSACTION, data, reply, 0); } catch (RemoteException e) { Log.w(TAG, "Failure retrieving array; only received " + i + " of " + N, e); return; } while (i < N && reply.readInt() != 0) { mList.add(reply.readCreator(creator, loader)); if (DEBUG) Log.d(TAG, "Read extra #" + i + ": " + mList.get(mList.size() - 1)); i++; } reply.recycle(); data.recycle(); } }