OSDN Git Service

Attempt to fix MENU key issue.
authorJim Miller <jaggies@google.com>
Fri, 2 Nov 2012 23:39:22 +0000 (16:39 -0700)
committerJim Miller <jaggies@google.com>
Fri, 2 Nov 2012 23:47:39 +0000 (16:47 -0700)
Bug 7467642

Change-Id: If9ee91fc17b454dd47945e800e90d76c0faa7f3d

policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java
policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewManager.java

index 18f8b0c..f042f4b 100644 (file)
@@ -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);
index b224c08..7c117d9 100644 (file)
@@ -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;
                 }
             }