正在查看: CallApp v2.226 应用的 DialogPopupActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: CallApp v2.226 应用的 DialogPopupActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.callapp.contacts.manager.popup;
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.a;
import com.callapp.contacts.activity.base.BaseTransparentActivity;
import com.callapp.contacts.manager.FeedbackManager;
import com.callapp.contacts.manager.popup.Popup;
import com.callapp.contacts.manager.popup.PopupManager;
import com.callapp.contacts.util.Activities;
import com.callapp.contacts.util.CLog;
import com.callapp.framework.util.CollectionUtils;
import java.lang.ref.WeakReference;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.Set;
import java.util.WeakHashMap;
public class DialogPopupActivity extends BaseTransparentActivity {
private static final String ACTION_FINISH = "action.FINISH_DIALOG_POPUP_ACTIVITY";
private Collection<BaseDialogFragment> dialogs;
private int orientationState;
private final Object dialogsLock = new Object();
private Popup.DialogType popupType = Popup.DialogType.withInset;
public static class DismissListener implements PopupManager.DialogFragmentDismissListener {
public WeakReference a;
public DismissListener(DialogPopupActivity dialogPopupActivity, int i) {
this(dialogPopupActivity);
}
@Override
public final void a(BaseDialogFragment baseDialogFragment) {
WeakReference weakReference = this.a;
if (weakReference != null) {
DialogPopupActivity dialogPopupActivity = (DialogPopupActivity) weakReference.get();
this.a.clear();
this.a = null;
if (dialogPopupActivity != null) {
dialogPopupActivity.onDialogDismissed(baseDialogFragment);
}
}
}
private DismissListener(DialogPopupActivity dialogPopupActivity) {
this.a = new WeakReference(dialogPopupActivity);
}
}
private Dialog getDialog() {
synchronized (this.dialogsLock) {
try {
if (CollectionUtils.h(this.dialogs)) {
Set newSetFromMap = Collections.newSetFromMap(new WeakHashMap());
newSetFromMap.addAll(this.dialogs);
BaseDialogFragment baseDialogFragment = (BaseDialogFragment) newSetFromMap.iterator().next();
if (baseDialogFragment != null) {
return baseDialogFragment.getDialog();
}
}
return null;
} catch (Throwable th) {
throw th;
}
}
}
public static void startActivityWithFinishAction(Context context) {
Intent intent = new Intent(context, (Class<?>) DialogPopupActivity.class);
intent.addFlags(335577088);
intent.setAction(ACTION_FINISH);
context.startActivity(intent);
}
public void onConfigurationChanged(@NonNull Configuration configuration) {
super.onConfigurationChanged(configuration);
if (this.orientationState != configuration.orientation) {
Dialog dialog = getDialog();
if (dialog != null) {
DialogPopup.setDialogSizeAndBackground(dialog, this.popupType);
}
this.orientationState = configuration.orientation;
}
}
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
setKeyguardDismissAndScreenWindowFlags();
this.orientationState = Activities.getScreenOrientation();
onNewIntent(getIntent());
}
@Override
public void onDestroy() {
synchronized (this.dialogsLock) {
if (this.dialogs != null) {
Set newSetFromMap = Collections.newSetFromMap(new WeakHashMap());
newSetFromMap.addAll(this.dialogs);
Iterator it = newSetFromMap.iterator();
while (it.hasNext()) {
try {
((BaseDialogFragment) it.next()).dismissAllowingStateLoss();
} catch (RuntimeException e) {
CLog.e(DialogPopupActivity.class, e);
}
}
}
}
super.onDestroy();
}
public void onDialogDismissed(BaseDialogFragment baseDialogFragment) {
synchronized (this.dialogsLock) {
try {
Collection<BaseDialogFragment> collection = this.dialogs;
if (collection != null) {
collection.remove(baseDialogFragment);
}
Collection<BaseDialogFragment> collection2 = this.dialogs;
if (collection2 == null || collection2.isEmpty()) {
finish();
overridePendingTransition(0, 0);
}
} catch (Throwable th) {
throw th;
}
}
}
public void onDialogShown(BaseDialogFragment baseDialogFragment) {
synchronized (this.dialogsLock) {
try {
baseDialogFragment.b.add(new DismissListener(this, 0));
if (this.dialogs == null) {
this.dialogs = Collections.newSetFromMap(new WeakHashMap());
}
this.dialogs.add(baseDialogFragment);
} catch (Throwable th) {
throw th;
}
}
}
public void onNewIntent(@NonNull Intent intent) {
super/*androidx.activity.ComponentActivity*/.onNewIntent(intent);
if (ACTION_FINISH.equals(intent.getAction())) {
finish();
}
Popup b = PopupManager.get().b(intent);
if (!(b instanceof DialogPopup)) {
FeedbackManager.get().a("DialogPopupActivity got non DialogPopup instance");
return;
}
DialogPopup dialogPopup = (DialogPopup) b;
this.popupType = dialogPopup.getPopupType();
FragmentManager supportFragmentManager = getSupportFragmentManager();
if (supportFragmentManager.J || supportFragmentManager.S()) {
finish();
return;
}
try {
FragmentManager supportFragmentManager2 = getSupportFragmentManager();
supportFragmentManager2.getClass();
a aVar = new a(supportFragmentManager2);
Fragment G = getSupportFragmentManager().G("dialog");
if (G != null) {
aVar.h(G);
}
aVar.n(true, true);
} catch (Exception e) {
CLog.e(DialogPopupActivity.class, e);
}
BaseDialogFragment createDialogFragment = dialogPopup.createDialogFragment(this, dialogPopup.shouldCanceledOnTouchOutside());
createDialogFragment.show(supportFragmentManager, "dialog");
onDialogShown(createDialogFragment);
}
@Override
public boolean shouldAssertPermissions() {
return false;
}
}