code: package com.lody.virtual.remote;
  
  import android.app.PendingIntent;
  import android.os.IBinder;
  import android.os.Parcel;
  import android.os.Parcelable;
  
  public class PendingIntentData implements Parcelable {
  
      public static final Creator<PendingIntentData> CREATOR = new Creator<PendingIntentData>() {
          public final PendingIntentData createFromParcel(Parcel source) {
              return new PendingIntentData(source);
          }
  
          public final PendingIntentData[] newArray(int size) {
              return new PendingIntentData[size];
          }
      };
      public String creator;
      public PendingIntent pendingIntent;
  
      protected PendingIntentData(Parcel source) {
          this.creator = source.readString();
          this.pendingIntent = PendingIntent.readPendingIntentOrNullFromParcel(source);
      }
  
      public PendingIntentData(String creator, IBinder binder) {
          this.creator = creator;
          this.pendingIntent = readPendingIntent(binder);
      }
  
      public static PendingIntent readPendingIntent(IBinder binder) {
          Parcel parcel = Parcel.obtain();
          parcel.writeStrongBinder(binder);
          parcel.setDataPosition(0);
          try {
              return PendingIntent.readPendingIntentOrNullFromParcel(parcel);
          } finally {
              parcel.recycle();
          }
      }
  
      public int describeContents() {
          return 0;
      }
  
      public void writeToParcel(Parcel dest, int flags) {
          dest.writeString(this.creator);
          this.pendingIntent.writeToParcel(dest, flags);
      }
  }