正在查看: Plus 12 v10.13.1.1 应用的 BubbleActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Plus 12 v10.13.1.1 应用的 BubbleActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package org.telegram.ui;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RelativeLayout;
import java.util.ArrayList;
import org.telegram.messenger.AccountInstance;
import org.telegram.messenger.AndroidUtilities;
import org.telegram.messenger.ApplicationLoader;
import org.telegram.messenger.BuildVars;
import org.telegram.messenger.FileLog;
import org.telegram.messenger.NotificationCenter;
import org.telegram.messenger.R;
import org.telegram.messenger.SharedConfig;
import org.telegram.messenger.UserConfig;
import org.telegram.ui.ActionBar.BaseFragment;
import org.telegram.ui.ActionBar.DrawerLayoutContainer;
import org.telegram.ui.ActionBar.INavigationLayout;
import org.telegram.ui.ActionBar.Theme;
import org.telegram.ui.Components.LayoutHelper;
import org.telegram.ui.Components.PasscodeView;
import org.telegram.ui.Components.ThemeEditorView;
public class BubbleActivity extends BasePermissionsActivity implements INavigationLayout.INavigationLayoutDelegate {
public INavigationLayout actionBarLayout;
public long dialogId;
public DrawerLayoutContainer drawerLayoutContainer;
public boolean finished;
public Runnable lockRunnable;
public ArrayList<BaseFragment> mainFragmentsStack = new ArrayList<>();
public Intent passcodeSaveIntent;
public int passcodeSaveIntentAccount;
public boolean passcodeSaveIntentIsNew;
public boolean passcodeSaveIntentIsRestore;
public int passcodeSaveIntentState;
public PasscodeView passcodeView;
@Override
public boolean needAddFragmentToStack(BaseFragment baseFragment, INavigationLayout iNavigationLayout) {
return INavigationLayout.INavigationLayoutDelegate.CC.$default$needAddFragmentToStack(this, baseFragment, iNavigationLayout);
}
@Override
public boolean needPresentFragment(BaseFragment baseFragment, boolean z, boolean z2, INavigationLayout iNavigationLayout) {
return INavigationLayout.INavigationLayoutDelegate.CC.$default$needPresentFragment(this, baseFragment, z, z2, iNavigationLayout);
}
@Override
public boolean needPresentFragment(INavigationLayout iNavigationLayout, INavigationLayout.NavigationParams navigationParams) {
boolean needPresentFragment;
needPresentFragment = needPresentFragment(navigationParams.fragment, navigationParams.removeLast, navigationParams.noAnimation, iNavigationLayout);
return needPresentFragment;
}
@Override
public void onMeasureOverride(int[] iArr) {
INavigationLayout.INavigationLayoutDelegate.CC.$default$onMeasureOverride(this, iArr);
}
@Override
public boolean onPreIme() {
return INavigationLayout.INavigationLayoutDelegate.CC.$default$onPreIme(this);
}
@Override
public void onRebuildAllFragments(INavigationLayout iNavigationLayout, boolean z) {
INavigationLayout.INavigationLayoutDelegate.CC.$default$onRebuildAllFragments(this, iNavigationLayout, z);
}
@Override
public void onThemeProgress(float f) {
INavigationLayout.INavigationLayoutDelegate.CC.$default$onThemeProgress(this, f);
}
public void onCreate(Bundle savedInstanceState) {
ApplicationLoader.postInitApplication();
requestWindowFeature(1);
setTheme(R.style.Theme_TMessages);
getWindow().setBackgroundDrawableResource(R.drawable.transparent);
if (SharedConfig.passcodeHash.length() > 0 && !SharedConfig.allowScreenCapture) {
try {
getWindow().setFlags(8192, 8192);
} catch (Exception e) {
FileLog.e(e);
}
}
super.onCreate(savedInstanceState);
if (SharedConfig.passcodeHash.length() != 0 && SharedConfig.appLocked) {
SharedConfig.lastPauseTime = (int) (SystemClock.elapsedRealtime() / 1000);
}
AndroidUtilities.fillStatusBarHeight(this, false);
Theme.createDialogsResources(this);
Theme.createChatResources(this, false);
INavigationLayout newLayout = INavigationLayout.CC.newLayout(this);
this.actionBarLayout = newLayout;
newLayout.setInBubbleMode(true);
this.actionBarLayout.setRemoveActionBarExtraHeight(true);
DrawerLayoutContainer drawerLayoutContainer = new DrawerLayoutContainer(this);
this.drawerLayoutContainer = drawerLayoutContainer;
drawerLayoutContainer.setAllowOpenDrawer(false, false);
setContentView(this.drawerLayoutContainer, new ViewGroup.LayoutParams(-1, -1));
RelativeLayout relativeLayout = new RelativeLayout(this);
this.drawerLayoutContainer.addView(relativeLayout, LayoutHelper.createFrame(-1, -1.0f));
relativeLayout.addView(this.actionBarLayout.getView(), LayoutHelper.createRelative(-1, -1));
this.drawerLayoutContainer.setParentActionBarLayout(this.actionBarLayout);
this.actionBarLayout.setDrawerLayoutContainer(this.drawerLayoutContainer);
this.actionBarLayout.setFragmentStack(this.mainFragmentsStack);
this.actionBarLayout.setDelegate(this);
PasscodeView passcodeView = new PasscodeView(this);
this.passcodeView = passcodeView;
this.drawerLayoutContainer.addView((View) passcodeView, (ViewGroup.LayoutParams) LayoutHelper.createFrame(-1, -1.0f));
NotificationCenter.getGlobalInstance().postNotificationName(NotificationCenter.closeOtherAppActivities, new Object[]{this});
this.actionBarLayout.removeAllFragments();
handleIntent(getIntent(), false, savedInstanceState != null, false, UserConfig.selectedAccount, 0);
}
public final void showPasscodeActivity() {
if (this.passcodeView == null) {
return;
}
SharedConfig.appLocked = true;
if (SecretMediaViewer.hasInstance() && SecretMediaViewer.getInstance().isVisible()) {
SecretMediaViewer.getInstance().closePhoto(false, false);
} else if (PhotoViewer.hasInstance() && PhotoViewer.getInstance().isVisible()) {
PhotoViewer.getInstance().closePhoto(false, true);
} else if (ArticleViewer.hasInstance() && ArticleViewer.getInstance().isVisible()) {
ArticleViewer.getInstance().close(false, true);
}
this.passcodeView.onShow(true, false);
SharedConfig.isWaitingForPasscodeEnter = true;
this.drawerLayoutContainer.setAllowOpenDrawer(false, false);
this.passcodeView.setDelegate(new PasscodeView.PasscodeViewDelegate() {
public final void didAcceptedPassword(PasscodeView passcodeView) {
BubbleActivity.this.lambda$showPasscodeActivity$0(passcodeView);
}
});
}
public void lambda$showPasscodeActivity$0(PasscodeView passcodeView) {
SharedConfig.isWaitingForPasscodeEnter = false;
Intent intent = this.passcodeSaveIntent;
if (intent != null) {
handleIntent(intent, this.passcodeSaveIntentIsNew, this.passcodeSaveIntentIsRestore, true, this.passcodeSaveIntentAccount, this.passcodeSaveIntentState);
this.passcodeSaveIntent = null;
}
this.drawerLayoutContainer.setAllowOpenDrawer(true, false);
this.actionBarLayout.showLastFragment();
NotificationCenter.getGlobalInstance().postNotificationName(NotificationCenter.passcodeDismissed, new Object[]{passcodeView});
}
public final boolean handleIntent(final Intent intent, final boolean isNew, final boolean restore, final boolean fromPassword, final int intentAccount, int state) {
if (!fromPassword && (AndroidUtilities.needShowPasscode(true) || SharedConfig.isWaitingForPasscodeEnter)) {
showPasscodeActivity();
this.passcodeSaveIntent = intent;
this.passcodeSaveIntentIsNew = isNew;
this.passcodeSaveIntentIsRestore = restore;
this.passcodeSaveIntentAccount = intentAccount;
this.passcodeSaveIntentState = state;
UserConfig.getInstance(intentAccount).saveConfig(false);
return false;
}
int intExtra = intent.getIntExtra("currentAccount", UserConfig.selectedAccount);
this.currentAccount = intExtra;
if (!UserConfig.isValidAccount(intExtra)) {
finish();
return false;
}
ChatActivity chatActivity = null;
if (intent.getAction() != null && intent.getAction().startsWith("com.tmessages.openchat")) {
long longExtra = intent.getLongExtra("chatId", 0L);
long longExtra2 = intent.getLongExtra("userId", 0L);
Bundle bundle = new Bundle();
if (longExtra2 != 0) {
this.dialogId = longExtra2;
bundle.putLong("user_id", longExtra2);
} else {
this.dialogId = -longExtra;
bundle.putLong("chat_id", longExtra);
}
chatActivity = new ChatActivity(bundle);
chatActivity.setInBubbleMode(true);
chatActivity.setCurrentAccount(this.currentAccount);
}
if (chatActivity == null) {
finish();
return false;
}
NotificationCenter.getInstance(this.currentAccount).postNotificationName(NotificationCenter.closeChats, new Object[]{Long.valueOf(this.dialogId)});
this.actionBarLayout.removeAllFragments();
this.actionBarLayout.addFragmentToStack(chatActivity);
AccountInstance.getInstance(this.currentAccount).getNotificationsController().setOpenedInBubble(this.dialogId, true);
AccountInstance.getInstance(this.currentAccount).getConnectionsManager().setAppPaused(false, false);
this.actionBarLayout.showLastFragment();
return true;
}
public void onNewIntent(Intent intent) {
super.onNewIntent(intent);
handleIntent(intent, true, false, false, UserConfig.selectedAccount, 0);
}
public final void onFinish() {
if (this.finished) {
return;
}
Runnable runnable = this.lockRunnable;
if (runnable != null) {
AndroidUtilities.cancelRunOnUIThread(runnable);
this.lockRunnable = null;
}
this.finished = true;
}
public void onPause() {
super.onPause();
this.actionBarLayout.onPause();
ApplicationLoader.externalInterfacePaused = true;
onPasscodePause();
PasscodeView passcodeView = this.passcodeView;
if (passcodeView != null) {
passcodeView.onPause();
}
}
public void onDestroy() {
super.onDestroy();
int i = this.currentAccount;
if (i != -1) {
AccountInstance.getInstance(i).getNotificationsController().setOpenedInBubble(this.dialogId, false);
AccountInstance.getInstance(this.currentAccount).getConnectionsManager().setAppPaused(false, false);
}
onFinish();
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
ThemeEditorView themeEditorView = ThemeEditorView.getInstance();
if (themeEditorView != null) {
themeEditorView.onActivityResult(requestCode, resultCode, data);
}
if (this.actionBarLayout.getFragmentStack().size() != 0) {
this.actionBarLayout.getFragmentStack().get(this.actionBarLayout.getFragmentStack().size() - 1).onActivityResultFragment(requestCode, resultCode, data);
}
}
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (checkPermissionsResult(requestCode, permissions, grantResults)) {
if (this.actionBarLayout.getFragmentStack().size() != 0) {
this.actionBarLayout.getFragmentStack().get(this.actionBarLayout.getFragmentStack().size() - 1).onRequestPermissionsResultFragment(requestCode, permissions, grantResults);
}
VoIPFragment.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
}
public void onResume() {
super.onResume();
this.actionBarLayout.onResume();
ApplicationLoader.externalInterfacePaused = false;
onPasscodeResume();
if (this.passcodeView.getVisibility() != 0) {
this.actionBarLayout.onResume();
} else {
this.actionBarLayout.dismissDialogs();
this.passcodeView.onResume();
}
}
public final void onPasscodePause() {
Runnable runnable = this.lockRunnable;
if (runnable != null) {
AndroidUtilities.cancelRunOnUIThread(runnable);
this.lockRunnable = null;
}
if (SharedConfig.passcodeHash.length() != 0) {
SharedConfig.lastPauseTime = (int) (SystemClock.elapsedRealtime() / 1000);
Runnable runnable2 = new Runnable() {
@Override
public void run() {
if (BubbleActivity.this.lockRunnable == this) {
if (AndroidUtilities.needShowPasscode(true)) {
if (BuildVars.LOGS_ENABLED) {
FileLog.d("lock app");
}
BubbleActivity.this.showPasscodeActivity();
} else if (BuildVars.LOGS_ENABLED) {
FileLog.d("didn't pass lock check");
}
BubbleActivity.this.lockRunnable = null;
}
}
};
this.lockRunnable = runnable2;
if (SharedConfig.appLocked) {
AndroidUtilities.runOnUIThread(runnable2, 1000L);
} else {
int i = SharedConfig.autoLockIn;
if (i != 0) {
AndroidUtilities.runOnUIThread(runnable2, (i * 1000) + 1000);
}
}
} else {
SharedConfig.lastPauseTime = 0;
}
SharedConfig.saveConfig();
}
public final void onPasscodeResume() {
Runnable runnable = this.lockRunnable;
if (runnable != null) {
AndroidUtilities.cancelRunOnUIThread(runnable);
this.lockRunnable = null;
}
if (AndroidUtilities.needShowPasscode(true)) {
showPasscodeActivity();
}
if (SharedConfig.lastPauseTime != 0) {
SharedConfig.lastPauseTime = 0;
SharedConfig.saveConfig();
}
}
public void onConfigurationChanged(Configuration newConfig) {
AndroidUtilities.checkDisplaySize(this, newConfig);
super.onConfigurationChanged(newConfig);
}
public void onBackPressed() {
if (this.mainFragmentsStack.size() == 1) {
super/*androidx.activity.ComponentActivity*/.onBackPressed();
return;
}
if (this.passcodeView.getVisibility() == 0) {
finish();
return;
}
if (PhotoViewer.getInstance().isVisible()) {
PhotoViewer.getInstance().closePhoto(true, false);
} else if (this.drawerLayoutContainer.isDrawerOpened()) {
this.drawerLayoutContainer.closeDrawer(false);
} else {
this.actionBarLayout.onBackPressed();
}
}
public void onLowMemory() {
super.onLowMemory();
this.actionBarLayout.onLowMemory();
}
@Override
public boolean needCloseLastFragment(INavigationLayout layout) {
if (layout.getFragmentStack().size() > 1) {
return true;
}
onFinish();
finish();
return false;
}
}