正在查看: Betterhalf.ai v5.1.1 应用的 InAppNotificationActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Betterhalf.ai v5.1.1 应用的 InAppNotificationActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.clevertap.android.sdk;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.FragmentActivity;
import com.clevertap.android.sdk.inapp.CTInAppBaseFullFragment;
import com.clevertap.android.sdk.inapp.CTInAppHtmlCoverFragment;
import com.clevertap.android.sdk.inapp.CTInAppHtmlHalfInterstitialFragment;
import com.clevertap.android.sdk.inapp.CTInAppHtmlInterstitialFragment;
import com.clevertap.android.sdk.inapp.CTInAppNativeCoverFragment;
import com.clevertap.android.sdk.inapp.CTInAppNativeCoverImageFragment;
import com.clevertap.android.sdk.inapp.CTInAppNativeHalfInterstitialFragment;
import com.clevertap.android.sdk.inapp.CTInAppNativeHalfInterstitialImageFragment;
import com.clevertap.android.sdk.inapp.CTInAppNativeInterstitialFragment;
import com.clevertap.android.sdk.inapp.CTInAppNativeInterstitialImageFragment;
import com.clevertap.android.sdk.inapp.CTInAppNotification;
import com.clevertap.android.sdk.inapp.CTInAppType;
import com.clevertap.android.sdk.inapp.InAppController;
import com.clevertap.android.sdk.inapp.InAppListener;
import java.lang.ref.WeakReference;
import java.util.HashMap;
public final class InAppNotificationActivity extends FragmentActivity implements InAppListener, DidClickForHardPermissionListener {
private static boolean isAlertVisible = false;
private CleverTapInstanceConfig config;
private CTInAppNotification inAppNotification;
private WeakReference<InAppListener> listenerWeakReference;
private PushPermissionManager pushPermissionManager;
private WeakReference<PushPermissionResultCallback> pushPermissionResultCallbackWeakReference;
private Bundle returnBundle = null;
private boolean invokedInAppDismissCallback = false;
public interface PushPermissionResultCallback {
void onPushPermissionAccept();
void onPushPermissionDeny();
}
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
int i = getResources().getConfiguration().orientation;
if (i == 2) {
getWindow().addFlags(1024);
}
try {
Bundle extras = getIntent().getExtras();
if (extras == null) {
throw new IllegalArgumentException();
}
this.inAppNotification = (CTInAppNotification) extras.getParcelable(Constants.INAPP_KEY);
boolean z = extras.getBoolean(InAppController.DISPLAY_HARD_PERMISSION_BUNDLE_KEY, false);
Bundle bundle2 = extras.getBundle("configBundle");
if (bundle2 != null) {
this.config = (CleverTapInstanceConfig) bundle2.getParcelable(Constants.KEY_CONFIG);
}
setListener(CleverTapAPI.instanceWithConfig(this, this.config).getCoreState().getInAppController());
setPermissionCallback(CleverTapAPI.instanceWithConfig(this, this.config).getCoreState().getInAppController());
this.pushPermissionManager = new PushPermissionManager(this, this.config);
if (z) {
showHardPermissionPrompt(extras.getBoolean(InAppController.SHOW_FALLBACK_SETTINGS_BUNDLE_KEY, false));
return;
}
CTInAppNotification cTInAppNotification = this.inAppNotification;
if (cTInAppNotification == null) {
finish();
return;
}
if (cTInAppNotification.isPortrait() && !this.inAppNotification.isLandscape()) {
if (i == 2) {
Logger.d("App in Landscape, dismissing portrait InApp Notification");
finish();
didDismiss(null);
return;
}
Logger.d("App in Portrait, displaying InApp Notification anyway");
}
if (!this.inAppNotification.isPortrait() && this.inAppNotification.isLandscape()) {
if (i == 1) {
Logger.d("App in Portrait, dismissing landscape InApp Notification");
finish();
didDismiss(null);
return;
}
Logger.d("App in Landscape, displaying InApp Notification anyway");
}
if (bundle == null) {
CTInAppBaseFullFragment createContentFragment = createContentFragment();
if (createContentFragment != null) {
Bundle bundle3 = new Bundle();
bundle3.putParcelable(Constants.INAPP_KEY, this.inAppNotification);
bundle3.putParcelable(Constants.KEY_CONFIG, this.config);
createContentFragment.setArguments(bundle3);
getSupportFragmentManager().beginTransaction().setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out).add(android.R.id.content, createContentFragment, getFragmentTag()).commitNow();
return;
}
return;
}
if (isAlertVisible) {
createContentFragment();
}
} catch (Throwable th) {
Logger.v("Cannot find a valid notification bundle to show!", th);
finish();
}
}
@Override
protected void onResume() {
super.onResume();
if (!this.pushPermissionManager.isFromNotificationSettingsActivity() || Build.VERSION.SDK_INT < 33) {
return;
}
if (ContextCompat.checkSelfPermission(this, PushPermissionManager.ANDROID_PERMISSION_STRING) == 0) {
this.pushPermissionResultCallbackWeakReference.get().onPushPermissionAccept();
} else {
this.pushPermissionResultCallbackWeakReference.get().onPushPermissionDeny();
}
didDismiss(null);
}
@Override
public void finish() {
super.finish();
if (Build.VERSION.SDK_INT >= 34) {
overrideActivityTransition(1, android.R.anim.fade_in, android.R.anim.fade_out);
} else {
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
}
if (this.invokedInAppDismissCallback) {
return;
}
notifyInAppDismissed();
}
@Override
protected void onDestroy() {
super.onDestroy();
if (Build.VERSION.SDK_INT >= 34) {
overrideActivityTransition(1, android.R.anim.fade_in, android.R.anim.fade_out);
} else {
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
}
if (this.invokedInAppDismissCallback) {
return;
}
notifyInAppDismissed();
}
private void notifyInAppDismissed() {
if (isAlertVisible) {
isAlertVisible = false;
}
InAppListener listener = getListener();
if (listener != null && getBaseContext() != null && this.inAppNotification != null) {
listener.inAppNotificationDidDismiss(getBaseContext(), this.inAppNotification, this.returnBundle);
}
this.invokedInAppDismissCallback = true;
}
@Override
public void inAppNotificationDidClick(CTInAppNotification cTInAppNotification, Bundle bundle, HashMap<String, String> hashMap) {
didClick(bundle, hashMap);
}
@Override
public void inAppNotificationDidDismiss(Context context, CTInAppNotification cTInAppNotification, Bundle bundle) {
didDismiss(bundle);
}
@Override
public void inAppNotificationDidShow(CTInAppNotification cTInAppNotification, Bundle bundle) {
didShow(bundle);
}
@Override
public void setTheme(int i) {
super.setTheme(android.R.style.Theme.Translucent.NoTitleBar);
}
void didClick(Bundle bundle, HashMap<String, String> hashMap) {
InAppListener listener = getListener();
if (listener != null) {
listener.inAppNotificationDidClick(this.inAppNotification, bundle, hashMap);
}
}
@Override
public void didClickForHardPermissionWithFallbackSettings(boolean z) {
showHardPermissionPrompt(z);
}
public void showHardPermissionPrompt(boolean z) {
this.pushPermissionManager.showHardPermissionPrompt(z, this.pushPermissionResultCallbackWeakReference.get());
}
@Override
public void onRequestPermissionsResult(int i, String[] strArr, int[] iArr) {
super.onRequestPermissionsResult(i, strArr, iArr);
boolean z = false;
CTPreferenceCache.getInstance(this, this.config).setFirstTimeRequest(false);
CTPreferenceCache.updateCacheToDisk(this, this.config);
if (i == 102) {
if (iArr.length > 0 && iArr[0] == 0) {
z = true;
}
if (z) {
this.pushPermissionResultCallbackWeakReference.get().onPushPermissionAccept();
} else {
this.pushPermissionResultCallbackWeakReference.get().onPushPermissionDeny();
}
didDismiss(null);
}
}
void didDismiss(Bundle bundle) {
this.returnBundle = bundle;
finish();
}
void didShow(Bundle bundle) {
InAppListener listener = getListener();
if (listener != null) {
listener.inAppNotificationDidShow(this.inAppNotification, bundle);
}
}
void fireUrlThroughIntent(String str, Bundle bundle) {
try {
startActivity(new Intent("android.intent.action.VIEW", Uri.parse(str.replace("\n", "").replace("\r", ""))));
} catch (Throwable unused) {
}
didDismiss(bundle);
}
InAppListener getListener() {
InAppListener inAppListener;
try {
inAppListener = this.listenerWeakReference.get();
} catch (Throwable unused) {
inAppListener = null;
}
if (inAppListener == null) {
this.config.getLogger().verbose(this.config.getAccountId(), "InAppActivityListener is null for notification: " + this.inAppNotification.getJsonDescription());
}
return inAppListener;
}
void setListener(InAppListener inAppListener) {
this.listenerWeakReference = new WeakReference<>(inAppListener);
}
public void setPermissionCallback(PushPermissionResultCallback pushPermissionResultCallback) {
this.pushPermissionResultCallbackWeakReference = new WeakReference<>(pushPermissionResultCallback);
}
public void notifyPermissionDenied() {
this.pushPermissionResultCallbackWeakReference.get().onPushPermissionDeny();
}
private CTInAppBaseFullFragment createContentFragment() {
AlertDialog alertDialog;
CTInAppType inAppType = this.inAppNotification.getInAppType();
switch (AnonymousClass6.$SwitchMap$com$clevertap$android$sdk$inapp$CTInAppType[inAppType.ordinal()]) {
case 1:
return new CTInAppHtmlCoverFragment();
case 2:
return new CTInAppHtmlInterstitialFragment();
case 3:
return new CTInAppHtmlHalfInterstitialFragment();
case 4:
return new CTInAppNativeCoverFragment();
case 5:
return new CTInAppNativeInterstitialFragment();
case 6:
return new CTInAppNativeHalfInterstitialFragment();
case 7:
return new CTInAppNativeCoverImageFragment();
case 8:
return new CTInAppNativeInterstitialImageFragment();
case 9:
return new CTInAppNativeHalfInterstitialImageFragment();
case 10:
if (this.inAppNotification.getButtons().size() > 0) {
alertDialog = new AlertDialog.Builder(this, android.R.style.Theme.Material.Light.Dialog.Alert).setCancelable(false).setTitle(this.inAppNotification.getTitle()).setMessage(this.inAppNotification.getMessage()).setPositiveButton(this.inAppNotification.getButtons().get(0).getText(), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Bundle bundle = new Bundle();
bundle.putString(Constants.NOTIFICATION_ID_TAG, InAppNotificationActivity.this.inAppNotification.getCampaignId());
bundle.putString(Constants.KEY_C2A, InAppNotificationActivity.this.inAppNotification.getButtons().get(0).getText());
InAppNotificationActivity.this.didClick(bundle, null);
String actionUrl = InAppNotificationActivity.this.inAppNotification.getButtons().get(0).getActionUrl();
if (actionUrl == null) {
if (!InAppNotificationActivity.this.inAppNotification.isLocalInApp()) {
if (InAppNotificationActivity.this.inAppNotification.getButtons().get(0).getType() != null && InAppNotificationActivity.this.inAppNotification.getButtons().get(0).getType().equalsIgnoreCase(Constants.KEY_REQUEST_FOR_NOTIFICATION_PERMISSION)) {
InAppNotificationActivity inAppNotificationActivity = InAppNotificationActivity.this;
inAppNotificationActivity.showHardPermissionPrompt(inAppNotificationActivity.inAppNotification.getButtons().get(0).isFallbackToSettings());
return;
} else {
InAppNotificationActivity.this.didDismiss(bundle);
return;
}
}
InAppNotificationActivity inAppNotificationActivity2 = InAppNotificationActivity.this;
inAppNotificationActivity2.showHardPermissionPrompt(inAppNotificationActivity2.inAppNotification.fallBackToNotificationSettings());
return;
}
InAppNotificationActivity.this.fireUrlThroughIntent(actionUrl, bundle);
}
}).create();
if (this.inAppNotification.getButtons().size() == 2) {
alertDialog.setButton(-2, this.inAppNotification.getButtons().get(1).getText(), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Bundle bundle = new Bundle();
bundle.putString(Constants.NOTIFICATION_ID_TAG, InAppNotificationActivity.this.inAppNotification.getCampaignId());
bundle.putString(Constants.KEY_C2A, InAppNotificationActivity.this.inAppNotification.getButtons().get(1).getText());
InAppNotificationActivity.this.didClick(bundle, null);
String actionUrl = InAppNotificationActivity.this.inAppNotification.getButtons().get(1).getActionUrl();
if (actionUrl == null) {
if (InAppNotificationActivity.this.inAppNotification.getButtons().get(1).getType() != null && InAppNotificationActivity.this.inAppNotification.getButtons().get(1).getType().equalsIgnoreCase(Constants.KEY_REQUEST_FOR_NOTIFICATION_PERMISSION)) {
InAppNotificationActivity inAppNotificationActivity = InAppNotificationActivity.this;
inAppNotificationActivity.showHardPermissionPrompt(inAppNotificationActivity.inAppNotification.getButtons().get(1).isFallbackToSettings());
return;
} else {
InAppNotificationActivity.this.didDismiss(bundle);
return;
}
}
InAppNotificationActivity.this.fireUrlThroughIntent(actionUrl, bundle);
}
});
}
if (this.inAppNotification.getButtons().size() > 2) {
alertDialog.setButton(-3, this.inAppNotification.getButtons().get(2).getText(), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Bundle bundle = new Bundle();
bundle.putString(Constants.NOTIFICATION_ID_TAG, InAppNotificationActivity.this.inAppNotification.getCampaignId());
bundle.putString(Constants.KEY_C2A, InAppNotificationActivity.this.inAppNotification.getButtons().get(2).getText());
InAppNotificationActivity.this.didClick(bundle, null);
String actionUrl = InAppNotificationActivity.this.inAppNotification.getButtons().get(2).getActionUrl();
if (actionUrl != null) {
InAppNotificationActivity.this.fireUrlThroughIntent(actionUrl, bundle);
} else {
InAppNotificationActivity.this.didDismiss(bundle);
}
}
});
}
} else {
alertDialog = null;
}
if (alertDialog != null) {
alertDialog.show();
isAlertVisible = true;
didShow(null);
return null;
}
this.config.getLogger().debug("InAppNotificationActivity: Alert Dialog is null, not showing Alert InApp");
return null;
default:
this.config.getLogger().verbose("InAppNotificationActivity: Unhandled InApp Type: " + inAppType);
return null;
}
}
static class AnonymousClass6 {
static final int[] $SwitchMap$com$clevertap$android$sdk$inapp$CTInAppType;
static {
int[] iArr = new int[CTInAppType.values().length];
$SwitchMap$com$clevertap$android$sdk$inapp$CTInAppType = iArr;
try {
iArr[CTInAppType.CTInAppTypeCoverHTML.ordinal()] = 1;
} catch (NoSuchFieldError unused) {
}
try {
$SwitchMap$com$clevertap$android$sdk$inapp$CTInAppType[CTInAppType.CTInAppTypeInterstitialHTML.ordinal()] = 2;
} catch (NoSuchFieldError unused2) {
}
try {
$SwitchMap$com$clevertap$android$sdk$inapp$CTInAppType[CTInAppType.CTInAppTypeHalfInterstitialHTML.ordinal()] = 3;
} catch (NoSuchFieldError unused3) {
}
try {
$SwitchMap$com$clevertap$android$sdk$inapp$CTInAppType[CTInAppType.CTInAppTypeCover.ordinal()] = 4;
} catch (NoSuchFieldError unused4) {
}
try {
$SwitchMap$com$clevertap$android$sdk$inapp$CTInAppType[CTInAppType.CTInAppTypeInterstitial.ordinal()] = 5;
} catch (NoSuchFieldError unused5) {
}
try {
$SwitchMap$com$clevertap$android$sdk$inapp$CTInAppType[CTInAppType.CTInAppTypeHalfInterstitial.ordinal()] = 6;
} catch (NoSuchFieldError unused6) {
}
try {
$SwitchMap$com$clevertap$android$sdk$inapp$CTInAppType[CTInAppType.CTInAppTypeCoverImageOnly.ordinal()] = 7;
} catch (NoSuchFieldError unused7) {
}
try {
$SwitchMap$com$clevertap$android$sdk$inapp$CTInAppType[CTInAppType.CTInAppTypeInterstitialImageOnly.ordinal()] = 8;
} catch (NoSuchFieldError unused8) {
}
try {
$SwitchMap$com$clevertap$android$sdk$inapp$CTInAppType[CTInAppType.CTInAppTypeHalfInterstitialImageOnly.ordinal()] = 9;
} catch (NoSuchFieldError unused9) {
}
try {
$SwitchMap$com$clevertap$android$sdk$inapp$CTInAppType[CTInAppType.CTInAppTypeAlert.ordinal()] = 10;
} catch (NoSuchFieldError unused10) {
}
}
}
class AnonymousClass3 implements DialogInterface.OnClickListener {
AnonymousClass3() {
}
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Bundle bundle = new Bundle();
bundle.putString(Constants.NOTIFICATION_ID_TAG, InAppNotificationActivity.this.inAppNotification.getCampaignId());
bundle.putString(Constants.KEY_C2A, InAppNotificationActivity.this.inAppNotification.getButtons().get(0).getText());
InAppNotificationActivity.this.didClick(bundle, null);
String actionUrl = InAppNotificationActivity.this.inAppNotification.getButtons().get(0).getActionUrl();
if (actionUrl != null) {
InAppNotificationActivity.this.fireUrlThroughIntent(actionUrl, bundle);
} else {
InAppNotificationActivity.this.didDismiss(bundle);
}
}
}
class AnonymousClass4 implements DialogInterface.OnClickListener {
AnonymousClass4() {
}
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Bundle bundle = new Bundle();
bundle.putString(Constants.NOTIFICATION_ID_TAG, InAppNotificationActivity.this.inAppNotification.getCampaignId());
bundle.putString(Constants.KEY_C2A, InAppNotificationActivity.this.inAppNotification.getButtons().get(1).getText());
InAppNotificationActivity.this.didClick(bundle, null);
String actionUrl = InAppNotificationActivity.this.inAppNotification.getButtons().get(1).getActionUrl();
if (actionUrl != null) {
InAppNotificationActivity.this.fireUrlThroughIntent(actionUrl, bundle);
} else {
InAppNotificationActivity.this.didDismiss(bundle);
}
}
}
private String getFragmentTag() {
return this.config.getAccountId() + ":CT_INAPP_CONTENT_FRAGMENT";
}
}