Bug 1229967 - Handle onKeyDown() for the menu key in GeckoMenu. r=sebastian draft
authorJan Henning <jh+bugzilla@buttercookie.de>
Mon, 11 Apr 2016 12:42:21 +0200
changeset 349470 027ee09840f3d1a443fcca7ecb96a2cced6b71d6
parent 349384 e847cfcb315f511f4928b03fd47dcf57aad05e1e
child 518108 04471a6f26c2bc9eef81da6d7873cf479411af13
push id15096
push usermozilla@buttercookie.de
push dateMon, 11 Apr 2016 16:51:41 +0000
reviewerssebastian
bugs1229967
milestone48.0a1
Bug 1229967 - Handle onKeyDown() for the menu key in GeckoMenu. r=sebastian This restores the functionality to close the menu by pressing the hardware menu key. MozReview-Commit-ID: EKCeALPvFoB
mobile/android/base/java/org/mozilla/gecko/menu/GeckoMenu.java
--- a/mobile/android/base/java/org/mozilla/gecko/menu/GeckoMenu.java
+++ b/mobile/android/base/java/org/mozilla/gecko/menu/GeckoMenu.java
@@ -457,16 +457,27 @@ public class GeckoMenu extends ListView
                 !mQuickShareActionItems.containsKey(menuItem))
                 return true;
         }
 
         return false;
     }
 
     @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        // Close the menu if it is open and the hardware menu key is pressed.
+        if (keyCode == KeyEvent.KEYCODE_MENU && isShown()) {
+            close();
+            return true;
+        }
+
+        return super.onKeyDown(keyCode, event);
+    }
+
+    @Override
     public boolean isShortcutKey(int keyCode, KeyEvent event) {
         return true;
     }
 
     @Override
     public boolean performIdentifierAction(int id, int flags) {
         return false;
     }