正在查看: TruCred v1.1.3 应用的 LicenseActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: TruCred v1.1.3 应用的 LicenseActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.pairip.licensecheck;
import android.app.Activity;
import android.app.ActivityOptions;
import android.app.AlertDialog;
import android.app.PendingIntent;
import android.content.DialogInterface;
import android.os.Build;
import android.util.Log;
public class LicenseActivity extends Activity {
public static final String ACTIVITY_TYPE_ARG_NAME = "activitytype";
public static final String PAYWALL_INTENT_ARG_NAME = "paywallintent";
private static final String TAG = "LicenseActivity";
public enum ActivityType {
PAYWALL,
ERROR_DIALOG
}
@Override
public void onStart() {
super.onStart();
try {
int ordinal = ((ActivityType) getIntent().getSerializableExtra(ACTIVITY_TYPE_ARG_NAME)).ordinal();
if (ordinal == 0) {
showPaywallAndCloseApp();
} else {
if (ordinal != 1) {
return;
}
showErrorDialog();
}
} catch (Exception e2) {
logAndShowErrorDialog("Couldn't process license activity correctly.", e2);
}
}
private void showPaywallAndCloseApp() {
final PendingIntent pendingIntent = (PendingIntent) getIntent().getParcelableExtra(PAYWALL_INTENT_ARG_NAME);
if (pendingIntent == null) {
logAndShowErrorDialog("Paywall intent is not provided.");
} else {
runOnUiThread(new Runnable() {
@Override
public final void run() {
LicenseActivity.this.lambda$showPaywallAndCloseApp$0(pendingIntent);
}
});
}
}
public void lambda$showPaywallAndCloseApp$0(PendingIntent pendingIntent) {
try {
if (Build.VERSION.SDK_INT >= 34) {
pendingIntent.send(ActivityOptions.makeBasic().setPendingIntentBackgroundActivityStartMode(1).toBundle());
} else {
pendingIntent.send();
}
closeApp();
} catch (PendingIntent.CanceledException e2) {
logAndShowErrorDialog("Paywall intent unexpectedly cancelled.", e2);
}
}
private void logAndShowErrorDialog(String message, Exception ex) {
logAndShowErrorDialog(message + " " + Log.getStackTraceString(ex));
}
private void logAndShowErrorDialog(String message) {
Log.e(TAG, message);
showErrorDialog();
}
private void showErrorDialog() {
runOnUiThread(new Runnable() {
@Override
public final void run() {
LicenseActivity.this.lambda$showErrorDialog$0();
}
});
}
public void lambda$showErrorDialog$0() {
try {
new AlertDialog.Builder(this).setTitle("Something went wrong").setMessage("Check that Google Play is enabled on your device and that you're using an up-to-date version before opening the app. If the problem persists try reinstalling the app.").setPositiveButton("Close", new DialogInterface.OnClickListener() {
@Override
public final void onClick(DialogInterface dialogInterface, int i2) {
LicenseActivity.this.lambda$showErrorDialog$1(dialogInterface, i2);
}
}).setCancelable(false).show();
} catch (RuntimeException e2) {
Log.d(TAG, "Couldn't show the error dialog. " + Log.getStackTraceString(e2));
}
}
public void lambda$showErrorDialog$1(DialogInterface dialogInterface, int i2) {
closeApp();
}
protected void closeApp() {
finishAndRemoveTask();
System.exit(0);
}
}