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

Commit 75931e05 authored by Jim Miller's avatar Jim Miller
Browse files

Attempt to fix MENU key issue.

Bug 7467642

Change-Id: If9ee91fc17b454dd47945e800e90d76c0faa7f3d
parent 52070c1a
Loading
Loading
Loading
Loading
+10 −12
Original line number Diff line number Diff line
@@ -72,7 +72,6 @@ public class KeyguardHostView extends KeyguardViewBase {
    private KeyguardSecurityViewFlipper mSecurityViewContainer;
    private KeyguardSelectorView mKeyguardSelectorView;
    private KeyguardTransportControlView mTransportControl;
    private boolean mEnableMenuKey;
    private boolean mIsVerifyUnlockOnly;
    private boolean mEnableFallback; // TODO: This should get the value from KeyguardPatternView
    private SecurityMode mCurrentSecuritySelection = SecurityMode.Invalid;
@@ -112,8 +111,6 @@ public class KeyguardHostView extends KeyguardViewBase {
        mAppWidgetManager = AppWidgetManager.getInstance(mContext);
        mSecurityModel = new KeyguardSecurityModel(context);

        // The following enables the MENU key to work for testing automation
        mEnableMenuKey = shouldEnableMenuKey();
        mViewStateManager = new KeyguardViewStateManager();
    }

@@ -1292,20 +1289,21 @@ public class KeyguardHostView extends KeyguardViewBase {
        return !configDisabled || isTestHarness || fileOverride;
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_MENU && mEnableMenuKey) {
            showNextSecurityScreenOrFinish(false);
            return true;
        } else {
            return super.onKeyDown(keyCode, event);
        }
    }


    public void goToUserSwitcher() {
        mAppWidgetContainer.setCurrentPage(getWidgetPosition(R.id.keyguard_multi_user_selector));
    }

    public boolean handleMenuKey() {
        // The following enables the MENU key to work for testing automation
        if (shouldEnableMenuKey()) {
            showNextSecurityScreenOrFinish(false);
            return true;
        }
        return false;
    }

    public boolean handleBackKey() {
        if (mCurrentSecuritySelection != SecurityMode.None) {
            mCallback.dismiss(false);
+5 −4
Original line number Diff line number Diff line
@@ -137,10 +137,11 @@ public class KeyguardViewManager {

        @Override
        public boolean dispatchKeyEvent(KeyEvent event) {
            if (event.getAction() == KeyEvent.ACTION_DOWN
                    && event.getKeyCode() == KeyEvent.KEYCODE_BACK
                    && mKeyguardView != null) {
                if (mKeyguardView.handleBackKey()) {
            if (event.getAction() == KeyEvent.ACTION_DOWN && mKeyguardView != null) {
                int keyCode = event.getKeyCode();
                if (keyCode == KeyEvent.KEYCODE_BACK && mKeyguardView.handleBackKey()) {
                    return true;
                } else if (keyCode == KeyEvent.KEYCODE_MENU && mKeyguardView.handleMenuKey()) {
                    return true;
                }
            }