content: package com.lody.virtual.remote;
  
  import android.content.BroadcastReceiver;
  import android.os.Bundle;
  import android.os.IBinder;
  import android.os.Parcel;
  import android.os.Parcelable;
  
  
  /**
   * @author Lody
   */
  
  public class PendingResultData implements Parcelable {
      public static final Creator<PendingResultData> CREATOR = new Creator<PendingResultData>() {
          @Override
          public PendingResultData createFromParcel(Parcel source) {
              return new PendingResultData(source);
          }
  
          @Override
          public PendingResultData[] newArray(int size) {
              return new PendingResultData[size];
          }
      };
      public int mType;
      public boolean mOrderedHint;
      public boolean mInitialStickyHint;
      public IBinder mToken;
      public int mSendingUser;
      public int mFlags;
      public int mResultCode;
      public String mResultData;
      public Bundle mResultExtras;
      public boolean mAbortBroadcast;
      public boolean mFinished;
  
      public PendingResultData(BroadcastReceiver.PendingResult result) {
          if (mirror.android.content.BroadcastReceiver.PendingResultMNC.ctor != null) {
              mType = mirror.android.content.BroadcastReceiver.PendingResultMNC.mType.get(result);
              mOrderedHint = mirror.android.content.BroadcastReceiver.PendingResultMNC.mOrderedHint.get(result);
              mInitialStickyHint = mirror.android.content.BroadcastReceiver.PendingResultMNC.mInitialStickyHint.get(result);
              mToken = mirror.android.content.BroadcastReceiver.PendingResultMNC.mToken.get(result);
              mSendingUser = mirror.android.content.BroadcastReceiver.PendingResultMNC.mSendingUser.get(result);
              mFlags = mirror.android.content.BroadcastReceiver.PendingResultMNC.mFlags.get(result);
              mResultCode = mirror.android.content.BroadcastReceiver.PendingResultMNC.mResultCode.get(result);
              mResultData = mirror.android.content.BroadcastReceiver.PendingResultMNC.mResultData.get(result);
              mResultExtras = mirror.android.content.BroadcastReceiver.PendingResultMNC.mResultExtras.get(result);
              mAbortBroadcast = mirror.android.content.BroadcastReceiver.PendingResultMNC.mAbortBroadcast.get(result);
              mFinished = mirror.android.content.BroadcastReceiver.PendingResultMNC.mFinished.get(result);
          } else if (mirror.android.content.BroadcastReceiver.PendingResultJBMR1.ctor != null) {
              mType = mirror.android.content.BroadcastReceiver.PendingResultJBMR1.mType.get(result);
              mOrderedHint = mirror.android.content.BroadcastReceiver.PendingResultJBMR1.mOrderedHint.get(result);
              mInitialStickyHint = mirror.android.content.BroadcastReceiver.PendingResultJBMR1.mInitialStickyHint.get(result);
              mToken = mirror.android.content.BroadcastReceiver.PendingResultJBMR1.mToken.get(result);
              mSendingUser = mirror.android.content.BroadcastReceiver.PendingResultJBMR1.mSendingUser.get(result);
              mResultCode = mirror.android.content.BroadcastReceiver.PendingResultJBMR1.mResultCode.get(result);
              mResultData = mirror.android.content.BroadcastReceiver.PendingResultJBMR1.mResultData.get(result);
              mResultExtras = mirror.android.content.BroadcastReceiver.PendingResultJBMR1.mResultExtras.get(result);
              mAbortBroadcast = mirror.android.content.BroadcastReceiver.PendingResultJBMR1.mAbortBroadcast.get(result);
              mFinished = mirror.android.content.BroadcastReceiver.PendingResultJBMR1.mFinished.get(result);
          } else {
              mType = mirror.android.content.BroadcastReceiver.PendingResult.mType.get(result);
              mOrderedHint = mirror.android.content.BroadcastReceiver.PendingResult.mOrderedHint.get(result);
              mInitialStickyHint = mirror.android.content.BroadcastReceiver.PendingResult.mInitialStickyHint.get(result);
              mToken = mirror.android.content.BroadcastReceiver.PendingResult.mToken.get(result);
              mResultCode = mirror.android.content.BroadcastReceiver.PendingResult.mResultCode.get(result);
              mResultData = mirror.android.content.BroadcastReceiver.PendingResult.mResultData.get(result);
              mResultExtras = mirror.android.content.BroadcastReceiver.PendingResult.mResultExtras.get(result);
              mAbortBroadcast = mirror.android.content.BroadcastReceiver.PendingResult.mAbortBroadcast.get(result);
              mFinished = mirror.android.content.BroadcastReceiver.PendingResult.mFinished.get(result);
          }
      }
  
  
      protected PendingResultData(Parcel in) {
          this.mType = in.readInt();
          this.mOrderedHint = in.readByte() != 0;
          this.mInitialStickyHint = in.readByte() != 0;
          this.mToken = in.readStrongBinder();
          this.mSendingUser = in.readInt();
          this.mFlags = in.readInt();
          this.mResultCode = in.readInt();
          this.mResultData = in.readString();
          this.mResultExtras = in.readBundle();
          this.mAbortBroadcast = in.readByte() != 0;
          this.mFinished = in.readByte() != 0;
      }
  
      public BroadcastReceiver.PendingResult build() {
          if (mirror.android.content.BroadcastReceiver.PendingResultMNC.ctor != null) {
              return mirror.android.content.BroadcastReceiver.PendingResultMNC.ctor.newInstance(mResultCode, mResultData, mResultExtras, mType, mOrderedHint, mInitialStickyHint, mToken, mSendingUser, mFlags);
          }
          if (mirror.android.content.BroadcastReceiver.PendingResultJBMR1.ctor != null) {
              return mirror.android.content.BroadcastReceiver.PendingResultJBMR1.ctor.newInstance(mResultCode, mResultData, mResultExtras, mType, mOrderedHint, mInitialStickyHint, mToken, mSendingUser);
          }
          return mirror.android.content.BroadcastReceiver.PendingResult.ctor.newInstance(mResultCode, mResultData, mResultExtras, mType, mOrderedHint, mInitialStickyHint, mToken);
      }
  
      @Override
      public int describeContents() {
          return 0;
      }
  
      @Override
      public void writeToParcel(Parcel dest, int flags) {
          dest.writeInt(this.mType);
          dest.writeByte(this.mOrderedHint ? (byte) 1 : (byte) 0);
          dest.writeByte(this.mInitialStickyHint ? (byte) 1 : (byte) 0);
          dest.writeStrongBinder(this.mToken);
          dest.writeInt(this.mSendingUser);
          dest.writeInt(this.mFlags);
          dest.writeInt(this.mResultCode);
          dest.writeString(this.mResultData);
          dest.writeBundle(this.mResultExtras);
          dest.writeByte(this.mAbortBroadcast ? (byte) 1 : (byte) 0);
          dest.writeByte(this.mFinished ? (byte) 1 : (byte) 0);
      }
  
      public void finish() {
          try {
              build().finish();
          } catch (Throwable e) {
              e.printStackTrace();
          }
      }
  }
  