protected override bool OnTransact(int code, Parcel data, Parcel reply, int flags) { int num3; string str3; string str4; switch (code) { case 1: { data.EnforceInterface("com.android.vending.billing.IInAppBillingService"); int apiVersion = 0; apiVersion = data.ReadInt(); string packageName = null; packageName = data.ReadString(); string type = null; type = data.ReadString(); int num2 = this.IsBillingSupported(apiVersion, packageName, type); reply.WriteNoException(); reply.WriteInt(num2); data.WriteInt(apiVersion); data.WriteString(packageName); data.WriteString(type); return true; } case 2: { data.EnforceInterface("com.android.vending.billing.IInAppBillingService"); num3 = 0; num3 = data.ReadInt(); str3 = null; str3 = data.ReadString(); str4 = null; str4 = data.ReadString(); Bundle skusBundle = null; skusBundle = (data.ReadInt() == 0) ? null : ((Bundle) Bundle.Creator.CreateFromParcel(data)); Bundle bundle2 = this.GetSkuDetails(num3, str3, str4, skusBundle); reply.WriteNoException(); if (bundle2 == null) { reply.WriteInt(0); break; } reply.WriteInt(1); bundle2.WriteToParcel(reply, ParcelableWriteFlags.ReturnValue); break; } case 3: { data.EnforceInterface("com.android.vending.billing.IInAppBillingService"); int num4 = 0; num4 = data.ReadInt(); string str5 = null; str5 = data.ReadString(); string sku = null; sku = data.ReadString(); string str7 = null; str7 = data.ReadString(); string developerPayload = null; developerPayload = data.ReadString(); Bundle bundle3 = this.GetBuyIntent(num4, str5, sku, str7, developerPayload); reply.WriteNoException(); if (bundle3 == null) { reply.WriteInt(0); } else { reply.WriteInt(1); bundle3.WriteToParcel(reply, ParcelableWriteFlags.ReturnValue); } data.WriteInt(num4); data.WriteString(str5); data.WriteString(sku); data.WriteString(str7); data.WriteString(developerPayload); return true; } case 4: { data.EnforceInterface("com.android.vending.billing.IInAppBillingService"); int num5 = 0; num5 = data.ReadInt(); string str9 = null; str9 = data.ReadString(); string str10 = null; str10 = data.ReadString(); string continuationToken = null; continuationToken = data.ReadString(); Bundle bundle4 = this.GetPurchases(num5, str9, str10, continuationToken); reply.WriteNoException(); if (bundle4 == null) { reply.WriteInt(0); } else { reply.WriteInt(1); bundle4.WriteToParcel(reply, ParcelableWriteFlags.ReturnValue); } data.WriteInt(num5); data.WriteString(str9); data.WriteString(str10); data.WriteString(continuationToken); return true; } case 5: { data.EnforceInterface("com.android.vending.billing.IInAppBillingService"); int num6 = 0; num6 = data.ReadInt(); string str12 = null; str12 = data.ReadString(); string purchaseToken = null; purchaseToken = data.ReadString(); int num7 = this.ConsumePurchase(num6, str12, purchaseToken); reply.WriteNoException(); reply.WriteInt(num7); data.WriteInt(num6); data.WriteString(str12); data.WriteString(purchaseToken); return true; } case 0x5f4e5446: reply.WriteString("com.android.vending.billing.IInAppBillingService"); return true; default: return base.OnTransact(code, data, reply, flags); } data.WriteInt(num3); data.WriteString(str3); data.WriteString(str4); return true; }