正在查看: Firecracker Simulator v4.8 应用的 ProxyBillingActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Firecracker Simulator v4.8 应用的 ProxyBillingActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.android.billingclient.api;
import android.app.Activity;
import android.app.PendingIntent;
import android.content.Intent;
import android.content.IntentSender;
import android.os.Bundle;
import android.os.ResultReceiver;
public class ProxyBillingActivity extends Activity {
static final String KEY_IN_APP_MESSAGE_RESULT_RECEIVER = "in_app_message_result_receiver";
static final String KEY_PRICE_CHANGE_RESULT_RECEIVER = "result_receiver";
private static final String KEY_SEND_CANCELLED_BROADCAST_IF_FINISHED = "send_cancelled_broadcast_if_finished";
private static final int REQUEST_CODE_FIRST_PARTY_PURCHASE_FLOW = 110;
private static final int REQUEST_CODE_IN_APP_MESSAGE_FLOW = 101;
private static final int REQUEST_CODE_LAUNCH_ACTIVITY = 100;
private static final String TAG = "ProxyBillingActivity";
private ResultReceiver inAppMessageResultReceiver;
private boolean isFlowFromFirstPartyClient;
private ResultReceiver priceChangeResultReceiver;
private boolean sendCancelledBroadcastIfFinished;
private Intent makeAlternativeBillingIntent(String str) {
Intent intent = new Intent("com.android.vending.billing.ALTERNATIVE_BILLING");
intent.setPackage(getApplicationContext().getPackageName());
intent.putExtra("ALTERNATIVE_BILLING_USER_CHOICE_DATA", str);
intent.putExtra("BROADCAST_RECEIVER_LOGGING_PAYLOAD", zzbx.zze(3, com.google.android.gms.internal.play_billing.zzai.zzl(zzbx.zza(intent.getAction()))).zzd());
return intent;
}
private Intent makePurchasesUpdatedIntent() {
Intent intent = new Intent("com.android.vending.billing.LOCAL_BROADCAST_PURCHASES_UPDATED");
intent.setPackage(getApplicationContext().getPackageName());
intent.putExtra("BROADCAST_RECEIVER_LOGGING_PAYLOAD", zzbx.zze(3, com.google.android.gms.internal.play_billing.zzai.zzl(zzbx.zza(intent.getAction()))).zzd());
return intent;
}
@Override
protected void onActivityResult(int r8, int r9, android.content.Intent r10) {
throw new UnsupportedOperationException("Method not decompiled: com.android.billingclient.api.ProxyBillingActivity.onActivityResult(int, int, android.content.Intent):void");
}
@Override
protected void onCreate(Bundle bundle) {
int i;
PendingIntent pendingIntent;
int i2;
super.onCreate(bundle);
if (bundle != null) {
com.google.android.gms.internal.play_billing.zzb.zzj(TAG, "Launching Play Store billing flow from savedInstanceState");
this.sendCancelledBroadcastIfFinished = bundle.getBoolean(KEY_SEND_CANCELLED_BROADCAST_IF_FINISHED, false);
if (bundle.containsKey(KEY_PRICE_CHANGE_RESULT_RECEIVER)) {
this.priceChangeResultReceiver = (ResultReceiver) bundle.getParcelable(KEY_PRICE_CHANGE_RESULT_RECEIVER);
} else if (bundle.containsKey(KEY_IN_APP_MESSAGE_RESULT_RECEIVER)) {
this.inAppMessageResultReceiver = (ResultReceiver) bundle.getParcelable(KEY_IN_APP_MESSAGE_RESULT_RECEIVER);
}
this.isFlowFromFirstPartyClient = bundle.getBoolean("IS_FLOW_FROM_FIRST_PARTY_CLIENT", false);
return;
}
com.google.android.gms.internal.play_billing.zzb.zzj(TAG, "Launching Play Store billing flow");
if (getIntent().hasExtra("BUY_INTENT")) {
pendingIntent = (PendingIntent) getIntent().getParcelableExtra("BUY_INTENT");
if (getIntent().hasExtra("IS_FLOW_FROM_FIRST_PARTY_CLIENT") && getIntent().getBooleanExtra("IS_FLOW_FROM_FIRST_PARTY_CLIENT", false)) {
this.isFlowFromFirstPartyClient = true;
i2 = REQUEST_CODE_FIRST_PARTY_PURCHASE_FLOW;
i = i2;
}
i = 100;
} else if (getIntent().hasExtra("SUBS_MANAGEMENT_INTENT")) {
pendingIntent = (PendingIntent) getIntent().getParcelableExtra("SUBS_MANAGEMENT_INTENT");
this.priceChangeResultReceiver = (ResultReceiver) getIntent().getParcelableExtra(KEY_PRICE_CHANGE_RESULT_RECEIVER);
i = 100;
} else if (getIntent().hasExtra("IN_APP_MESSAGE_INTENT")) {
pendingIntent = (PendingIntent) getIntent().getParcelableExtra("IN_APP_MESSAGE_INTENT");
this.inAppMessageResultReceiver = (ResultReceiver) getIntent().getParcelableExtra(KEY_IN_APP_MESSAGE_RESULT_RECEIVER);
i2 = 101;
i = i2;
} else {
i = 100;
pendingIntent = null;
}
try {
this.sendCancelledBroadcastIfFinished = true;
startIntentSenderForResult(pendingIntent.getIntentSender(), i, new Intent(), 0, 0, 0);
} catch (IntentSender.SendIntentException e) {
com.google.android.gms.internal.play_billing.zzb.zzl(TAG, "Got exception while trying to start a purchase flow.", e);
ResultReceiver resultReceiver = this.priceChangeResultReceiver;
if (resultReceiver != null) {
resultReceiver.send(6, null);
} else {
ResultReceiver resultReceiver2 = this.inAppMessageResultReceiver;
if (resultReceiver2 != null) {
resultReceiver2.send(0, null);
} else {
Intent makePurchasesUpdatedIntent = makePurchasesUpdatedIntent();
if (this.isFlowFromFirstPartyClient) {
makePurchasesUpdatedIntent.putExtra("IS_FIRST_PARTY_PURCHASE", true);
}
makePurchasesUpdatedIntent.putExtra("RESPONSE_CODE", 6);
makePurchasesUpdatedIntent.putExtra("DEBUG_MESSAGE", "An internal error occurred.");
sendBroadcast(makePurchasesUpdatedIntent);
}
}
this.sendCancelledBroadcastIfFinished = false;
finish();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
if (isFinishing() && this.sendCancelledBroadcastIfFinished) {
Intent makePurchasesUpdatedIntent = makePurchasesUpdatedIntent();
makePurchasesUpdatedIntent.putExtra("RESPONSE_CODE", 1);
makePurchasesUpdatedIntent.putExtra("DEBUG_MESSAGE", "Billing dialog closed.");
sendBroadcast(makePurchasesUpdatedIntent);
}
}
@Override
protected void onSaveInstanceState(Bundle bundle) {
super.onSaveInstanceState(bundle);
ResultReceiver resultReceiver = this.priceChangeResultReceiver;
if (resultReceiver != null) {
bundle.putParcelable(KEY_PRICE_CHANGE_RESULT_RECEIVER, resultReceiver);
}
ResultReceiver resultReceiver2 = this.inAppMessageResultReceiver;
if (resultReceiver2 != null) {
bundle.putParcelable(KEY_IN_APP_MESSAGE_RESULT_RECEIVER, resultReceiver2);
}
bundle.putBoolean(KEY_SEND_CANCELLED_BROADCAST_IF_FINISHED, this.sendCancelledBroadcastIfFinished);
bundle.putBoolean("IS_FLOW_FROM_FIRST_PARTY_CLIENT", this.isFlowFromFirstPartyClient);
}
}