diff options
| -rw-r--r-- | core/java/android/app/Activity.java | 4 | ||||
| -rw-r--r-- | core/java/com/android/internal/app/ToolbarActionBar.java | 18 |
2 files changed, 17 insertions, 5 deletions
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java index bace226b2edb..147b5d034fd1 100644 --- a/core/java/android/app/Activity.java +++ b/core/java/android/app/Activity.java @@ -2740,6 +2740,10 @@ public class Activity extends ContextThemeWrapper return true; } return false; + } else if (keyCode == KeyEvent.KEYCODE_TAB) { + // Don't consume TAB here since it's used for navigation. Arrow keys + // aren't considered "typing keys" so they already won't get consumed. + return false; } else { // Common code for DEFAULT_KEYS_DIALER & DEFAULT_KEYS_SEARCH_* boolean clearSpannable = false; diff --git a/core/java/com/android/internal/app/ToolbarActionBar.java b/core/java/com/android/internal/app/ToolbarActionBar.java index 7ce5fc3103b6..b3904f457708 100644 --- a/core/java/com/android/internal/app/ToolbarActionBar.java +++ b/core/java/com/android/internal/app/ToolbarActionBar.java @@ -477,12 +477,9 @@ public class ToolbarActionBar extends ActionBar { final KeyCharacterMap kmap = KeyCharacterMap.load( event != null ? event.getDeviceId() : KeyCharacterMap.VIRTUAL_KEYBOARD); menu.setQwertyMode(kmap.getKeyboardType() != KeyCharacterMap.NUMERIC); - menu.performShortcut(keyCode, event, 0); + return menu.performShortcut(keyCode, event, 0); } - // This action bar always returns true for handling keyboard shortcuts. - // This will block the window from preparing a temporary panel to handle - // keyboard shortcuts. - return true; + return false; } @Override @@ -525,6 +522,17 @@ public class ToolbarActionBar extends ActionBar { } return result; } + + @Override + public View onCreatePanelView(int featureId) { + if (featureId == Window.FEATURE_OPTIONS_PANEL) { + // This gets called by PhoneWindow.preparePanel. Since this already manages + // its own panel, we return a dummy view here to prevent PhoneWindow from + // preparing a default one. + return new View(mDecorToolbar.getContext()); + } + return super.onCreatePanelView(featureId); + } } private final class ActionMenuPresenterCallback implements MenuPresenter.Callback { |