正在查看: imToken v3.28.8 应用的 BeaconActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: imToken v3.28.8 应用的 BeaconActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.helpscout.beacon.ui;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import com.helpscout.beacon.Beacon;
import com.helpscout.beacon.SDKInitException;
import com.helpscout.beacon.internal.core.model.BeaconScreenSelector;
import com.helpscout.beacon.internal.presentation.ui.home.HomeActivity;
import com.helpscout.beacon.internal.presentation.ui.navigate.CustomNavigateActivity;
import com.helpscout.beacon.model.BeaconScreens;
import java.util.ArrayList;
public class BeaconActivity extends AppCompatActivity {
public static String BEACON_SCREEN_ARGS_KEY = "com.helpscout.beacon.uiBeaconScreenArgsKey";
public static String BEACON_SCREEN_KEY = "com.helpscout.beacon.uiBeaconScreenKey";
public static String BEACON_SUGGEST_ARTICLES_KEY = "com.helpscout.beacon.uiBEACON_SUGGEST_ARTICLES_KEY";
public static String KEY_SIGNATURE = "com.helpscout.beacon.ui.HS_BEACON_SIGNATURE";
static class AnonymousClass1 {
static final int[] $SwitchMap$com$helpscout$beacon$model$BeaconScreens;
static {
int[] iArr = new int[BeaconScreens.values().length];
$SwitchMap$com$helpscout$beacon$model$BeaconScreens = iArr;
try {
iArr[BeaconScreens.DEFAULT.ordinal()] = 1;
} catch (NoSuchFieldError unused) {
}
try {
$SwitchMap$com$helpscout$beacon$model$BeaconScreens[BeaconScreens.SEARCH_SCREEN.ordinal()] = 2;
} catch (NoSuchFieldError unused2) {
}
try {
$SwitchMap$com$helpscout$beacon$model$BeaconScreens[BeaconScreens.ASK.ordinal()] = 3;
} catch (NoSuchFieldError unused3) {
}
}
}
static Intent createOpenBeaconIntent(Context context) {
Intent intent = new Intent(context, (Class<?>) BeaconActivity.class);
intent.addFlags(268435456);
return intent;
}
static Intent createOpenInSecureModeIntent(Context context, String str, BeaconScreens beaconScreens, ArrayList<String> arrayList) {
Intent createOpenBeaconIntent = createOpenBeaconIntent(context);
createOpenBeaconIntent.putExtra(KEY_SIGNATURE, str);
createOpenBeaconIntent.putExtra(BEACON_SCREEN_KEY, beaconScreens);
createOpenBeaconIntent.putStringArrayListExtra(BEACON_SCREEN_ARGS_KEY, arrayList);
return createOpenBeaconIntent;
}
private void forwardToInternalActivity() {
BeaconScreenSelector beaconScreenSelectorFromIntent = getBeaconScreenSelectorFromIntent();
String stringExtra = hasSignatureExtra() ? getIntent().getStringExtra(KEY_SIGNATURE) : "";
int i = AnonymousClass1.$SwitchMap$com$helpscout$beacon$model$BeaconScreens[beaconScreenSelectorFromIntent.getScreen().ordinal()];
if (i == 1) {
HomeActivity.INSTANCE.a(this, stringExtra);
return;
}
if (i == 2) {
HomeActivity.INSTANCE.a(this, stringExtra, beaconScreenSelectorFromIntent.getArgs().get(0));
} else if (i != 3) {
CustomNavigateActivity.INSTANCE.a(this, stringExtra, beaconScreenSelectorFromIntent);
} else {
HomeActivity.INSTANCE.c(this, stringExtra);
}
}
private BeaconScreenSelector getBeaconScreenSelectorFromIntent() {
BeaconScreens beaconScreens = (BeaconScreens) getIntent().getSerializableExtra(BEACON_SCREEN_KEY);
ArrayList<String> stringArrayListExtra = getIntent().getStringArrayListExtra(BEACON_SCREEN_ARGS_KEY);
if (beaconScreens == null) {
beaconScreens = BeaconScreens.DEFAULT;
}
if (stringArrayListExtra == null) {
stringArrayListExtra = new ArrayList<>();
}
return new BeaconScreenSelector(beaconScreens, stringArrayListExtra);
}
private boolean hasSignatureExtra() {
return getIntent().hasExtra(KEY_SIGNATURE);
}
public static void open(Context context) {
context.startActivity(createOpenBeaconIntent(context));
}
public static void open(Context context, BeaconScreens beaconScreens, ArrayList<String> arrayList) {
Intent createOpenBeaconIntent = createOpenBeaconIntent(context);
createOpenBeaconIntent.putExtra(BEACON_SCREEN_KEY, beaconScreens);
createOpenBeaconIntent.putStringArrayListExtra(BEACON_SCREEN_ARGS_KEY, arrayList);
context.startActivity(createOpenBeaconIntent);
}
public static void openInSecureMode(Context context, String str) {
Intent createOpenBeaconIntent = createOpenBeaconIntent(context);
createOpenBeaconIntent.putExtra(KEY_SIGNATURE, str);
context.startActivity(createOpenBeaconIntent);
}
public static void openInSecureMode(Context context, String str, BeaconScreens beaconScreens, ArrayList<String> arrayList) {
context.startActivity(createOpenInSecureModeIntent(context, str, beaconScreens, arrayList));
}
private void verifyBeaconEnabledOrThrow() {
if (!Beacon.isEnabled()) {
throw new SDKInitException("Beacon must be initialised, use Beacon.Builder()");
}
}
private void verifySignatureOrThrow() {
if (hasSignatureExtra() && getIntent().getStringExtra(KEY_SIGNATURE).isEmpty()) {
throw new SDKInitException("You are trying to open a Beacon is Secure Mode without providing a signature");
}
}
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
verifyBeaconEnabledOrThrow();
verifySignatureOrThrow();
forwardToInternalActivity();
finish();
}
}