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

Commit 78866b1e authored by Joe Onorato's avatar Joe Onorato
Browse files

Close the global actions menu when the screen goes off.

Previously, the global actions menu was closed when the keyguard was shown, but
when the menu was shown from within the keyguard, it wasn't closed ever again
when the screen goes off.  That had the result that if your pocket managed to
bring up the dialog, the menu would likely never go away on its own, and
eventually do something awful like go into airplane mode.
parent 32a9cd8f
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -80,6 +80,7 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac
        // receive broadcasts
        IntentFilter filter = new IntentFilter();
        filter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
        filter.addAction(Intent.ACTION_SCREEN_OFF);
        context.registerReceiver(mBroadcastReceiver, filter);

        // get notified of phone state changes
@@ -483,7 +484,8 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac
    private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            if (Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(action)) {
            if (Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(action)
                    || Intent.ACTION_SCREEN_OFF.equals(action)) {
                String reason = intent.getStringExtra(PhoneWindowManager.SYSTEM_DIALOG_REASON_KEY);
                if (!PhoneWindowManager.SYSTEM_DIALOG_REASON_GLOBAL_ACTIONS.equals(reason)) {
                    mHandler.sendEmptyMessage(MESSAGE_DISMISS);
+0 −1
Original line number Diff line number Diff line
@@ -857,7 +857,6 @@ public class KeyguardViewMediator implements KeyguardViewCallback,
            // manager not to honor request for userActivity.
            mRealPowerManager.enableUserActivity(false);

            mCallback.onKeyguardShow();
            mKeyguardViewManager.show();
            mShowing = true;
        }
+0 −7
Original line number Diff line number Diff line
@@ -1690,13 +1690,6 @@ public class PhoneWindowManager implements WindowManagerPolicy {
        return mKeyguardMediator.isInputRestricted();
    }

    /**
     * Callback from {@link KeyguardViewMediator}
     */
    public void onKeyguardShow() {
        sendCloseSystemWindows();
    }

    void sendCloseSystemWindows() {
        sendCloseSystemWindows(mContext, null);
    }