public void dumpGfxInfo(FileDescriptor fd, String[] args) throws RemoteException {
   Parcel data = Parcel.obtain();
   data.writeInterfaceToken(IApplicationThread.descriptor);
   data.writeFileDescriptor(fd);
   data.writeStringArray(args);
   mRemote.transact(DUMP_GFX_INFO_TRANSACTION, data, null, IBinder.FLAG_ONEWAY);
   data.recycle();
 }
 public void dumpService(FileDescriptor fd, IBinder token, String[] args) throws RemoteException {
   Parcel data = Parcel.obtain();
   data.writeInterfaceToken(IApplicationThread.descriptor);
   data.writeFileDescriptor(fd);
   data.writeStrongBinder(token);
   data.writeStringArray(args);
   mRemote.transact(DUMP_SERVICE_TRANSACTION, data, null, IBinder.FLAG_ONEWAY);
   data.recycle();
 }
 public Debug.MemoryInfo dumpMemInfo(
     FileDescriptor fd, boolean checkin, boolean all, String[] args) throws RemoteException {
   Parcel data = Parcel.obtain();
   Parcel reply = Parcel.obtain();
   data.writeInterfaceToken(IApplicationThread.descriptor);
   data.writeFileDescriptor(fd);
   data.writeInt(checkin ? 1 : 0);
   data.writeInt(all ? 1 : 0);
   data.writeStringArray(args);
   mRemote.transact(DUMP_MEM_INFO_TRANSACTION, data, reply, 0);
   reply.readException();
   Debug.MemoryInfo info = new Debug.MemoryInfo();
   info.readFromParcel(reply);
   data.recycle();
   reply.recycle();
   return info;
 }
 public void writeToParcel(Parcel arg2, int arg3) {
   arg2.writeFileDescriptor(this.a);
 }