public boolean onTransact(
     int paramInt1, Parcel paramParcel1, Parcel paramParcel2, int paramInt2) {
   switch (paramInt1) {
     default:
       return super.onTransact(paramInt1, paramParcel1, paramParcel2, paramInt2);
     case 1598968902:
       paramParcel2.writeString(
           "com.google.android.gms.ads.internal.purchase.client.IInAppPurchaseManager");
       return true;
     case 1:
       paramParcel1.enforceInterface(
           "com.google.android.gms.ads.internal.purchase.client.IInAppPurchaseManager");
       onCreate();
       paramParcel2.writeNoException();
       return true;
     case 2:
       paramParcel1.enforceInterface(
           "com.google.android.gms.ads.internal.purchase.client.IInAppPurchaseManager");
       onDestroy();
       paramParcel2.writeNoException();
       return true;
   }
   paramParcel1.enforceInterface(
       "com.google.android.gms.ads.internal.purchase.client.IInAppPurchaseManager");
   paramInt1 = paramParcel1.readInt();
   paramInt2 = paramParcel1.readInt();
   if (paramParcel1.readInt() != 0) {}
   for (paramParcel1 = (Intent) Intent.CREATOR.createFromParcel(paramParcel1);
       ;
       paramParcel1 = null) {
     onActivityResult(paramInt1, paramInt2, paramParcel1);
     paramParcel2.writeNoException();
     return true;
   }
 }
 public void readFromParcel(Parcel source) {
   id = source.readInt();
   persistentId = source.readInt();
   if (source.readInt() != 0) {
     baseIntent = Intent.CREATOR.createFromParcel(source);
   } else {
     baseIntent = null;
   }
   origActivity = ComponentName.readFromParcel(source);
   description = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(source);
 }
 public void readFromParcel(Parcel in) {
   id = in.readLong();
   titleRes = in.readInt();
   title = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in);
   summaryRes = in.readInt();
   summary = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in);
   breadCrumbTitleRes = in.readInt();
   breadCrumbTitle = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in);
   breadCrumbShortTitleRes = in.readInt();
   breadCrumbShortTitle = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in);
   iconRes = in.readInt();
   fragment = in.readString();
   fragmentArguments = in.readBundle();
   if (in.readInt() != 0) {
     intent = Intent.CREATOR.createFromParcel(in);
   }
   extras = in.readBundle();
 }
Exemple #4
0
 public boolean onTransact(int code, Parcel data, Parcel reply, int flags)
     throws RemoteException {
   Intent intent = null;
   boolean z = false;
   C0306d fX;
   IBinder asBinder;
   int id;
   C0305c fY;
   boolean retainInstance;
   int i;
   switch (code) {
     case Std.STD_URL /*2*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       fX = fX();
       reply.writeNoException();
       if (fX != null) {
         asBinder = fX.asBinder();
       }
       reply.writeStrongBinder(asBinder);
       return true;
     case Std.STD_URI /*3*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       Bundle arguments = getArguments();
       reply.writeNoException();
       if (arguments != null) {
         reply.writeInt(1);
         arguments.writeToParcel(reply, 1);
         return true;
       }
       reply.writeInt(0);
       return true;
     case Std.STD_CLASS /*4*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       id = getId();
       reply.writeNoException();
       reply.writeInt(id);
       return true;
     case Std.STD_JAVA_TYPE /*5*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       fY = fY();
       reply.writeNoException();
       if (fY != null) {
         asBinder = fY.asBinder();
       }
       reply.writeStrongBinder(asBinder);
       return true;
     case Std.STD_CURRENCY /*6*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       fX = fZ();
       reply.writeNoException();
       if (fX != null) {
         asBinder = fX.asBinder();
       }
       reply.writeStrongBinder(asBinder);
       return true;
     case Std.STD_PATTERN /*7*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       retainInstance = getRetainInstance();
       reply.writeNoException();
       reply.writeInt(retainInstance ? 1 : 0);
       return true;
     case Std.STD_LOCALE /*8*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       String tag = getTag();
       reply.writeNoException();
       reply.writeString(tag);
       return true;
     case Std.STD_CHARSET /*9*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       fY = ga();
       reply.writeNoException();
       if (fY != null) {
         asBinder = fY.asBinder();
       }
       reply.writeStrongBinder(asBinder);
       return true;
     case Std.STD_TIME_ZONE /*10*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       id = getTargetRequestCode();
       reply.writeNoException();
       reply.writeInt(id);
       return true;
     case Std.STD_INET_ADDRESS /*11*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       retainInstance = getUserVisibleHint();
       reply.writeNoException();
       if (retainInstance) {
         i = 1;
       }
       reply.writeInt(i);
       return true;
     case Std.STD_INET_SOCKET_ADDRESS /*12*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       fX = getView();
       reply.writeNoException();
       if (fX != null) {
         asBinder = fX.asBinder();
       }
       reply.writeStrongBinder(asBinder);
       return true;
     case CommonStatusCodes.ERROR /*13*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       retainInstance = isAdded();
       reply.writeNoException();
       if (retainInstance) {
         i = 1;
       }
       reply.writeInt(i);
       return true;
     case GamesStatusCodes.STATUS_INTERRUPTED /*14*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       retainInstance = isDetached();
       reply.writeNoException();
       if (retainInstance) {
         i = 1;
       }
       reply.writeInt(i);
       return true;
     case GamesStatusCodes.STATUS_TIMEOUT /*15*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       retainInstance = isHidden();
       reply.writeNoException();
       if (retainInstance) {
         i = 1;
       }
       reply.writeInt(i);
       return true;
     case TransportMediator.FLAG_KEY_MEDIA_PAUSE /*16*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       retainInstance = isInLayout();
       reply.writeNoException();
       if (retainInstance) {
         i = 1;
       }
       reply.writeInt(i);
       return true;
     case C0065R.styleable.TwoWayView_android_paddingRight /*17*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       retainInstance = isRemoving();
       reply.writeNoException();
       if (retainInstance) {
         i = 1;
       }
       reply.writeInt(i);
       return true;
     case C0065R.styleable.TwoWayView_android_paddingBottom /*18*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       retainInstance = isResumed();
       reply.writeNoException();
       if (retainInstance) {
         i = 1;
       }
       reply.writeInt(i);
       return true;
     case C0065R.styleable.TwoWayView_android_focusable /*19*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       retainInstance = isVisible();
       reply.writeNoException();
       if (retainInstance) {
         i = 1;
       }
       reply.writeInt(i);
       return true;
     case HttpEngine.MAX_REDIRECTS /*20*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       m355b(C0820a.m1755K(data.readStrongBinder()));
       reply.writeNoException();
       return true;
     case C0065R.styleable.TwoWayView_android_visibility /*21*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       if (data.readInt() != 0) {
         z = true;
       }
       setHasOptionsMenu(z);
       reply.writeNoException();
       return true;
     case C0065R.styleable.TwoWayView_android_fitsSystemWindows /*22*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       if (data.readInt() != 0) {
         z = true;
       }
       setMenuVisibility(z);
       reply.writeNoException();
       return true;
     case C0065R.styleable.TwoWayView_android_scrollbars /*23*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       if (data.readInt() != 0) {
         z = true;
       }
       setRetainInstance(z);
       reply.writeNoException();
       return true;
     case C0065R.styleable.TwoWayView_android_fadingEdge /*24*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       if (data.readInt() != 0) {
         z = true;
       }
       setUserVisibleHint(z);
       reply.writeNoException();
       return true;
     case C0065R.styleable.TwoWayView_android_fadingEdgeLength /*25*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       if (data.readInt() != 0) {
         intent = (Intent) Intent.CREATOR.createFromParcel(data);
       }
       startActivity(intent);
       reply.writeNoException();
       return true;
     case C0065R.styleable.TwoWayView_android_nextFocusLeft /*26*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       if (data.readInt() != 0) {
         intent = (Intent) Intent.CREATOR.createFromParcel(data);
       }
       startActivityForResult(intent, data.readInt());
       reply.writeNoException();
       return true;
     case C0065R.styleable.TwoWayView_android_nextFocusRight /*27*/:
       data.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
       m356c(C0820a.m1755K(data.readStrongBinder()));
       reply.writeNoException();
       return true;
     case 1598968902:
       reply.writeString("com.google.android.gms.dynamic.IFragmentWrapper");
       return true;
     default:
       return super.onTransact(code, data, reply, flags);
   }
 }
private static class zzle
    implements zzfr
{

    private IBinder zzle;

    public IBinder asBinder()
    {
        return zzle;
    }

    public void finishPurchase()
        throws RemoteException
    {
        Parcel parcel;
        Parcel parcel1;
        parcel = Parcel.obtain();
        parcel1 = Parcel.obtain();
        parcel.writeInterfaceToken("com.google.android.gms.ads.internal.purchase.client.IInAppPurchaseResult");
        zzle.transact(5, parcel, parcel1, 0);
        parcel1.readException();
        parcel1.recycle();
        parcel.recycle();
        return;
        Exception exception;
        exception;
        parcel1.recycle();
        parcel.recycle();
        throw exception;
    }

    public String getProductId()
        throws RemoteException
    {
        Parcel parcel;
        Parcel parcel1;
        parcel = Parcel.obtain();
        parcel1 = Parcel.obtain();
        String s;
        parcel.writeInterfaceToken("com.google.android.gms.ads.internal.purchase.client.IInAppPurchaseResult");
        zzle.transact(1, parcel, parcel1, 0);
        parcel1.readException();
        s = parcel1.readString();
        parcel1.recycle();
        parcel.recycle();
        return s;
        Exception exception;
        exception;
        parcel1.recycle();
        parcel.recycle();
        throw exception;
    }

    public Intent getPurchaseData()
        throws RemoteException
    {
        Parcel parcel;
        Parcel parcel1;
        parcel = Parcel.obtain();
        parcel1 = Parcel.obtain();
        parcel.writeInterfaceToken("com.google.android.gms.ads.internal.purchase.client.IInAppPurchaseResult");
        zzle.transact(2, parcel, parcel1, 0);
        parcel1.readException();
        if (parcel1.readInt() == 0) goto _L2; else goto _L1
_L1:
        Intent intent = (Intent)Intent.CREATOR.createFromParcel(parcel1);
_L4:
        parcel1.recycle();
        parcel.recycle();
        return intent;
_L2:
        intent = null;
        if (true) goto _L4; else goto _L3
_L3:
        Exception exception;
        exception;
        parcel1.recycle();
        parcel.recycle();
        throw exception;
    }
        public boolean onTransact(int i, Parcel parcel, Parcel parcel1, int j)
            throws RemoteException
        {
            switch (i)
            {
            default:
                return super.onTransact(i, parcel, parcel1, j);

            case 1598968902: 
                parcel1.writeString("com.google.android.gms.dynamic.IFragmentWrapper");
                return true;

            case 2: // '\002'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                d d3 = gD();
                parcel1.writeNoException();
                IBinder ibinder4 = null;
                if (d3 != null)
                {
                    ibinder4 = d3.asBinder();
                }
                parcel1.writeStrongBinder(ibinder4);
                return true;

            case 3: // '\003'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                Bundle bundle = getArguments();
                parcel1.writeNoException();
                if (bundle != null)
                {
                    parcel1.writeInt(1);
                    bundle.writeToParcel(parcel1, 1);
                    return true;
                } else
                {
                    parcel1.writeInt(0);
                    return true;
                }

            case 4: // '\004'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                int k4 = getId();
                parcel1.writeNoException();
                parcel1.writeInt(k4);
                return true;

            case 5: // '\005'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                c c2 = gE();
                parcel1.writeNoException();
                IBinder ibinder3 = null;
                if (c2 != null)
                {
                    ibinder3 = c2.asBinder();
                }
                parcel1.writeStrongBinder(ibinder3);
                return true;

            case 6: // '\006'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                d d2 = gF();
                parcel1.writeNoException();
                IBinder ibinder2 = null;
                if (d2 != null)
                {
                    ibinder2 = d2.asBinder();
                }
                parcel1.writeStrongBinder(ibinder2);
                return true;

            case 7: // '\007'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                boolean flag12 = getRetainInstance();
                parcel1.writeNoException();
                int j4;
                if (flag12)
                {
                    j4 = 1;
                } else
                {
                    j4 = 0;
                }
                parcel1.writeInt(j4);
                return true;

            case 8: // '\b'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                String s = getTag();
                parcel1.writeNoException();
                parcel1.writeString(s);
                return true;

            case 9: // '\t'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                c c1 = gG();
                parcel1.writeNoException();
                IBinder ibinder1 = null;
                if (c1 != null)
                {
                    ibinder1 = c1.asBinder();
                }
                parcel1.writeStrongBinder(ibinder1);
                return true;

            case 10: // '\n'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                int i4 = getTargetRequestCode();
                parcel1.writeNoException();
                parcel1.writeInt(i4);
                return true;

            case 11: // '\013'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                boolean flag11 = getUserVisibleHint();
                parcel1.writeNoException();
                int l3 = 0;
                if (flag11)
                {
                    l3 = 1;
                }
                parcel1.writeInt(l3);
                return true;

            case 12: // '\f'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                d d1 = getView();
                parcel1.writeNoException();
                IBinder ibinder = null;
                if (d1 != null)
                {
                    ibinder = d1.asBinder();
                }
                parcel1.writeStrongBinder(ibinder);
                return true;

            case 13: // '\r'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                boolean flag10 = isAdded();
                parcel1.writeNoException();
                int k3 = 0;
                if (flag10)
                {
                    k3 = 1;
                }
                parcel1.writeInt(k3);
                return true;

            case 14: // '\016'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                boolean flag9 = isDetached();
                parcel1.writeNoException();
                int j3 = 0;
                if (flag9)
                {
                    j3 = 1;
                }
                parcel1.writeInt(j3);
                return true;

            case 15: // '\017'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                boolean flag8 = isHidden();
                parcel1.writeNoException();
                int i3 = 0;
                if (flag8)
                {
                    i3 = 1;
                }
                parcel1.writeInt(i3);
                return true;

            case 16: // '\020'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                boolean flag7 = isInLayout();
                parcel1.writeNoException();
                int l2 = 0;
                if (flag7)
                {
                    l2 = 1;
                }
                parcel1.writeInt(l2);
                return true;

            case 17: // '\021'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                boolean flag6 = isRemoving();
                parcel1.writeNoException();
                int k2 = 0;
                if (flag6)
                {
                    k2 = 1;
                }
                parcel1.writeInt(k2);
                return true;

            case 18: // '\022'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                boolean flag5 = isResumed();
                parcel1.writeNoException();
                int j2 = 0;
                if (flag5)
                {
                    j2 = 1;
                }
                parcel1.writeInt(j2);
                return true;

            case 19: // '\023'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                boolean flag4 = isVisible();
                parcel1.writeNoException();
                int i2 = 0;
                if (flag4)
                {
                    i2 = 1;
                }
                parcel1.writeInt(i2);
                return true;

            case 20: // '\024'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                c(com.google.android.gms.dynamic.d.a.ag(parcel.readStrongBinder()));
                parcel1.writeNoException();
                return true;

            case 21: // '\025'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                int l1 = parcel.readInt();
                boolean flag3 = false;
                if (l1 != 0)
                {
                    flag3 = true;
                }
                setHasOptionsMenu(flag3);
                parcel1.writeNoException();
                return true;

            case 22: // '\026'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                int k1 = parcel.readInt();
                boolean flag2 = false;
                if (k1 != 0)
                {
                    flag2 = true;
                }
                setMenuVisibility(flag2);
                parcel1.writeNoException();
                return true;

            case 23: // '\027'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                int j1 = parcel.readInt();
                boolean flag1 = false;
                if (j1 != 0)
                {
                    flag1 = true;
                }
                setRetainInstance(flag1);
                parcel1.writeNoException();
                return true;

            case 24: // '\030'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                int i1 = parcel.readInt();
                boolean flag = false;
                if (i1 != 0)
                {
                    flag = true;
                }
                setUserVisibleHint(flag);
                parcel1.writeNoException();
                return true;

            case 25: // '\031'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                int l = parcel.readInt();
                Intent intent1 = null;
                if (l != 0)
                {
                    intent1 = (Intent)Intent.CREATOR.createFromParcel(parcel);
                }
                startActivity(intent1);
                parcel1.writeNoException();
                return true;

            case 26: // '\032'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                int k = parcel.readInt();
                Intent intent = null;
                if (k != 0)
                {
                    intent = (Intent)Intent.CREATOR.createFromParcel(parcel);
                }
                startActivityForResult(intent, parcel.readInt());
                parcel1.writeNoException();
                return true;

            case 27: // '\033'
                parcel.enforceInterface("com.google.android.gms.dynamic.IFragmentWrapper");
                d(com.google.android.gms.dynamic.d.a.ag(parcel.readStrongBinder()));
                parcel1.writeNoException();
                return true;
            }
        }
  @Override
  public boolean onTransact(int code, Parcel data, Parcel reply, int flags) throws RemoteException {
    switch (code) {
      case SCHEDULE_PAUSE_ACTIVITY_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          IBinder b = data.readStrongBinder();
          boolean finished = data.readInt() != 0;
          boolean userLeaving = data.readInt() != 0;
          int configChanges = data.readInt();
          schedulePauseActivity(b, finished, userLeaving, configChanges);
          return true;
        }

      case SCHEDULE_STOP_ACTIVITY_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          IBinder b = data.readStrongBinder();
          boolean show = data.readInt() != 0;
          int configChanges = data.readInt();
          scheduleStopActivity(b, show, configChanges);
          return true;
        }

      case SCHEDULE_WINDOW_VISIBILITY_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          IBinder b = data.readStrongBinder();
          boolean show = data.readInt() != 0;
          scheduleWindowVisibility(b, show);
          return true;
        }

      case SCHEDULE_SLEEPING_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          IBinder b = data.readStrongBinder();
          boolean sleeping = data.readInt() != 0;
          scheduleSleeping(b, sleeping);
          return true;
        }

      case SCHEDULE_RESUME_ACTIVITY_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          IBinder b = data.readStrongBinder();
          boolean isForward = data.readInt() != 0;
          scheduleResumeActivity(b, isForward);
          return true;
        }

      case SCHEDULE_SEND_RESULT_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          IBinder b = data.readStrongBinder();
          List<ResultInfo> ri = data.createTypedArrayList(ResultInfo.CREATOR);
          scheduleSendResult(b, ri);
          return true;
        }

      case SCHEDULE_LAUNCH_ACTIVITY_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          Intent intent = Intent.CREATOR.createFromParcel(data);
          IBinder b = data.readStrongBinder();
          int ident = data.readInt();
          ActivityInfo info = ActivityInfo.CREATOR.createFromParcel(data);
          Configuration curConfig = Configuration.CREATOR.createFromParcel(data);
          CompatibilityInfo compatInfo = CompatibilityInfo.CREATOR.createFromParcel(data);
          Bundle state = data.readBundle();
          List<ResultInfo> ri = data.createTypedArrayList(ResultInfo.CREATOR);
          List<Intent> pi = data.createTypedArrayList(Intent.CREATOR);
          boolean notResumed = data.readInt() != 0;
          boolean isForward = data.readInt() != 0;
          String profileName = data.readString();
          ParcelFileDescriptor profileFd = data.readInt() != 0 ? data.readFileDescriptor() : null;
          boolean autoStopProfiler = data.readInt() != 0;
          scheduleLaunchActivity(
              intent,
              b,
              ident,
              info,
              curConfig,
              compatInfo,
              state,
              ri,
              pi,
              notResumed,
              isForward,
              profileName,
              profileFd,
              autoStopProfiler);
          return true;
        }

      case SCHEDULE_RELAUNCH_ACTIVITY_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          IBinder b = data.readStrongBinder();
          List<ResultInfo> ri = data.createTypedArrayList(ResultInfo.CREATOR);
          List<Intent> pi = data.createTypedArrayList(Intent.CREATOR);
          int configChanges = data.readInt();
          boolean notResumed = data.readInt() != 0;
          Configuration config = null;
          if (data.readInt() != 0) {
            config = Configuration.CREATOR.createFromParcel(data);
          }
          scheduleRelaunchActivity(b, ri, pi, configChanges, notResumed, config);
          return true;
        }

      case SCHEDULE_NEW_INTENT_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          List<Intent> pi = data.createTypedArrayList(Intent.CREATOR);
          IBinder b = data.readStrongBinder();
          scheduleNewIntent(pi, b);
          return true;
        }

      case SCHEDULE_FINISH_ACTIVITY_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          IBinder b = data.readStrongBinder();
          boolean finishing = data.readInt() != 0;
          int configChanges = data.readInt();
          scheduleDestroyActivity(b, finishing, configChanges);
          return true;
        }

      case SCHEDULE_RECEIVER_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          Intent intent = Intent.CREATOR.createFromParcel(data);
          ActivityInfo info = ActivityInfo.CREATOR.createFromParcel(data);
          CompatibilityInfo compatInfo = CompatibilityInfo.CREATOR.createFromParcel(data);
          int resultCode = data.readInt();
          String resultData = data.readString();
          Bundle resultExtras = data.readBundle();
          boolean sync = data.readInt() != 0;
          scheduleReceiver(intent, info, compatInfo, resultCode, resultData, resultExtras, sync);
          return true;
        }

      case SCHEDULE_CREATE_SERVICE_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          IBinder token = data.readStrongBinder();
          ServiceInfo info = ServiceInfo.CREATOR.createFromParcel(data);
          CompatibilityInfo compatInfo = CompatibilityInfo.CREATOR.createFromParcel(data);
          scheduleCreateService(token, info, compatInfo);
          return true;
        }

      case SCHEDULE_BIND_SERVICE_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          IBinder token = data.readStrongBinder();
          Intent intent = Intent.CREATOR.createFromParcel(data);
          boolean rebind = data.readInt() != 0;
          scheduleBindService(token, intent, rebind);
          return true;
        }

      case SCHEDULE_UNBIND_SERVICE_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          IBinder token = data.readStrongBinder();
          Intent intent = Intent.CREATOR.createFromParcel(data);
          scheduleUnbindService(token, intent);
          return true;
        }

      case SCHEDULE_SERVICE_ARGS_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          IBinder token = data.readStrongBinder();
          boolean taskRemoved = data.readInt() != 0;
          int startId = data.readInt();
          int fl = data.readInt();
          Intent args;
          if (data.readInt() != 0) {
            args = Intent.CREATOR.createFromParcel(data);
          } else {
            args = null;
          }
          scheduleServiceArgs(token, taskRemoved, startId, fl, args);
          return true;
        }

      case SCHEDULE_STOP_SERVICE_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          IBinder token = data.readStrongBinder();
          scheduleStopService(token);
          return true;
        }

      case BIND_APPLICATION_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          String packageName = data.readString();
          ApplicationInfo info = ApplicationInfo.CREATOR.createFromParcel(data);
          List<ProviderInfo> providers = data.createTypedArrayList(ProviderInfo.CREATOR);
          ComponentName testName = (data.readInt() != 0) ? new ComponentName(data) : null;
          String profileName = data.readString();
          ParcelFileDescriptor profileFd = data.readInt() != 0 ? data.readFileDescriptor() : null;
          boolean autoStopProfiler = data.readInt() != 0;
          Bundle testArgs = data.readBundle();
          IBinder binder = data.readStrongBinder();
          IInstrumentationWatcher testWatcher = IInstrumentationWatcher.Stub.asInterface(binder);
          int testMode = data.readInt();
          boolean restrictedBackupMode = (data.readInt() != 0);
          boolean persistent = (data.readInt() != 0);
          Configuration config = Configuration.CREATOR.createFromParcel(data);
          CompatibilityInfo compatInfo = CompatibilityInfo.CREATOR.createFromParcel(data);
          HashMap<String, IBinder> services = data.readHashMap(null);
          Bundle coreSettings = data.readBundle();
          bindApplication(
              packageName,
              info,
              providers,
              testName,
              profileName,
              profileFd,
              autoStopProfiler,
              testArgs,
              testWatcher,
              testMode,
              restrictedBackupMode,
              persistent,
              config,
              compatInfo,
              services,
              coreSettings);
          return true;
        }

      case SCHEDULE_EXIT_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          scheduleExit();
          return true;
        }

      case SCHEDULE_SUICIDE_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          scheduleSuicide();
          return true;
        }

      case REQUEST_THUMBNAIL_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          IBinder b = data.readStrongBinder();
          requestThumbnail(b);
          return true;
        }

      case SCHEDULE_CONFIGURATION_CHANGED_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          Configuration config = Configuration.CREATOR.createFromParcel(data);
          scheduleConfigurationChanged(config);
          return true;
        }

      case UPDATE_TIME_ZONE_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          updateTimeZone();
          return true;
        }

      case CLEAR_DNS_CACHE_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          clearDnsCache();
          return true;
        }

      case SET_HTTP_PROXY_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          final String proxy = data.readString();
          final String port = data.readString();
          final String exclList = data.readString();
          setHttpProxy(proxy, port, exclList);
          return true;
        }

      case PROCESS_IN_BACKGROUND_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          processInBackground();
          return true;
        }

      case DUMP_SERVICE_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          ParcelFileDescriptor fd = data.readFileDescriptor();
          final IBinder service = data.readStrongBinder();
          final String[] args = data.readStringArray();
          if (fd != null) {
            dumpService(fd.getFileDescriptor(), service, args);
            try {
              fd.close();
            } catch (IOException e) {
            }
          }
          return true;
        }

      case SCHEDULE_REGISTERED_RECEIVER_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          IIntentReceiver receiver = IIntentReceiver.Stub.asInterface(data.readStrongBinder());
          Intent intent = Intent.CREATOR.createFromParcel(data);
          int resultCode = data.readInt();
          String dataStr = data.readString();
          Bundle extras = data.readBundle();
          boolean ordered = data.readInt() != 0;
          boolean sticky = data.readInt() != 0;
          scheduleRegisteredReceiver(
              receiver, intent, resultCode, dataStr, extras, ordered, sticky);
          return true;
        }

      case SCHEDULE_LOW_MEMORY_TRANSACTION:
        {
          scheduleLowMemory();
          return true;
        }

      case SCHEDULE_ACTIVITY_CONFIGURATION_CHANGED_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          IBinder b = data.readStrongBinder();
          scheduleActivityConfigurationChanged(b);
          return true;
        }

      case PROFILER_CONTROL_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          boolean start = data.readInt() != 0;
          int profileType = data.readInt();
          String path = data.readString();
          ParcelFileDescriptor fd = data.readInt() != 0 ? data.readFileDescriptor() : null;
          profilerControl(start, path, fd, profileType);
          return true;
        }

      case SET_SCHEDULING_GROUP_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          int group = data.readInt();
          setSchedulingGroup(group);
          return true;
        }

      case SCHEDULE_CREATE_BACKUP_AGENT_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          ApplicationInfo appInfo = ApplicationInfo.CREATOR.createFromParcel(data);
          CompatibilityInfo compatInfo = CompatibilityInfo.CREATOR.createFromParcel(data);
          int backupMode = data.readInt();
          scheduleCreateBackupAgent(appInfo, compatInfo, backupMode);
          return true;
        }

      case SCHEDULE_DESTROY_BACKUP_AGENT_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          ApplicationInfo appInfo = ApplicationInfo.CREATOR.createFromParcel(data);
          CompatibilityInfo compatInfo = CompatibilityInfo.CREATOR.createFromParcel(data);
          scheduleDestroyBackupAgent(appInfo, compatInfo);
          return true;
        }

      case GET_MEMORY_INFO_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          Debug.MemoryInfo mi = new Debug.MemoryInfo();
          getMemoryInfo(mi);
          reply.writeNoException();
          mi.writeToParcel(reply, 0);
          return true;
        }

      case DISPATCH_PACKAGE_BROADCAST_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          int cmd = data.readInt();
          String[] packages = data.readStringArray();
          dispatchPackageBroadcast(cmd, packages);
          return true;
        }

      case SCHEDULE_CRASH_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          String msg = data.readString();
          scheduleCrash(msg);
          return true;
        }

      case DUMP_HEAP_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          boolean managed = data.readInt() != 0;
          String path = data.readString();
          ParcelFileDescriptor fd = data.readInt() != 0 ? data.readFileDescriptor() : null;
          dumpHeap(managed, path, fd);
          return true;
        }

      case DUMP_ACTIVITY_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          ParcelFileDescriptor fd = data.readFileDescriptor();
          final IBinder activity = data.readStrongBinder();
          final String prefix = data.readString();
          final String[] args = data.readStringArray();
          if (fd != null) {
            dumpActivity(fd.getFileDescriptor(), activity, prefix, args);
            try {
              fd.close();
            } catch (IOException e) {
            }
          }
          return true;
        }

      case SET_CORE_SETTINGS_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          Bundle settings = data.readBundle();
          setCoreSettings(settings);
          return true;
        }

      case UPDATE_PACKAGE_COMPATIBILITY_INFO_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          String pkg = data.readString();
          CompatibilityInfo compat = CompatibilityInfo.CREATOR.createFromParcel(data);
          updatePackageCompatibilityInfo(pkg, compat);
          return true;
        }

      case SCHEDULE_TRIM_MEMORY_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          int level = data.readInt();
          scheduleTrimMemory(level);
          return true;
        }

      case DUMP_MEM_INFO_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          ParcelFileDescriptor fd = data.readFileDescriptor();
          boolean checkin = data.readInt() != 0;
          boolean all = data.readInt() != 0;
          String[] args = data.readStringArray();
          Debug.MemoryInfo mi = null;
          if (fd != null) {
            try {
              mi = dumpMemInfo(fd.getFileDescriptor(), checkin, all, args);
            } finally {
              try {
                fd.close();
              } catch (IOException e) {
                // swallowed, not propagated back to the caller
              }
            }
          }
          reply.writeNoException();
          mi.writeToParcel(reply, 0);
          return true;
        }

      case DUMP_GFX_INFO_TRANSACTION:
        {
          data.enforceInterface(IApplicationThread.descriptor);
          ParcelFileDescriptor fd = data.readFileDescriptor();
          String[] args = data.readStringArray();
          if (fd != null) {
            try {
              dumpGfxInfo(fd.getFileDescriptor(), args);
            } finally {
              try {
                fd.close();
              } catch (IOException e) {
                // swallowed, not propagated back to the caller
              }
            }
          }
          reply.writeNoException();
          return true;
        }
    }

    return super.onTransact(code, data, reply, flags);
  }