Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec04caee authored by Fedor Kudasov's avatar Fedor Kudasov Committed by Android (Google) Code Review
Browse files

Merge "Decrease the scope of mDialog"

parents ed71cdfe 4d95b49c
Loading
Loading
Loading
Loading
+19 −8
Original line number Diff line number Diff line
@@ -78,7 +78,6 @@ public class CastTile extends QSTileImpl<BooleanState> {
    private final NetworkController mNetworkController;
    private final DialogLaunchAnimator mDialogLaunchAnimator;
    private final Callback mCallback = new Callback();
    private Dialog mDialog;
    private boolean mWifiConnected;
    private boolean mHotspotConnected;

@@ -196,24 +195,36 @@ public class CastTile extends QSTileImpl<BooleanState> {
        showDetail(null /* view */);
    }

    private static class DialogHolder {
        private Dialog mDialog;

        private void init(Dialog dialog) {
            mDialog = dialog;
        }
    }

    private void showDetail(@Nullable View view) {
        mUiHandler.post(() -> {
            mDialog = MediaRouteDialogPresenter.createDialog(mContext, ROUTE_TYPE_REMOTE_DISPLAY,
            final DialogHolder holder = new DialogHolder();
            final Dialog dialog = MediaRouteDialogPresenter.createDialog(
                    mContext,
                    ROUTE_TYPE_REMOTE_DISPLAY,
                    v -> {
                        mDialogLaunchAnimator.disableAllCurrentDialogsExitAnimations();
                        mDialog.dismiss();
                        holder.mDialog.dismiss();
                        mActivityStarter
                                .postStartActivityDismissingKeyguard(getLongClickIntent(), 0);
                    });
            SystemUIDialog.setShowForAllUsers(mDialog, true);
            SystemUIDialog.registerDismissListener(mDialog);
            SystemUIDialog.setWindowOnTop(mDialog);
            holder.init(dialog);
            SystemUIDialog.setShowForAllUsers(dialog, true);
            SystemUIDialog.registerDismissListener(dialog);
            SystemUIDialog.setWindowOnTop(dialog);

            mUiHandler.post(() -> {
                if (view != null) {
                    mDialogLaunchAnimator.showFromView(mDialog, view);
                    mDialogLaunchAnimator.showFromView(dialog, view);
                } else {
                    mDialog.show();
                    dialog.show();
                }
            });
        });