Only consume key event if the drawer is closed.
Bug: 34343480
Test: press non-arrow/tab keys when drawer is open and make sure
search mode is not activated.
Change-Id: I62eed89d519223362ed6c36cbac3dd9855be135a
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 57ba699..84ddbd5 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -760,6 +760,11 @@
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
+ // Only consume the event if the drawer is closed. Otherwise, key events will activate
+ // search mode when drawer is open.
+ if (mDrawerLayout.isDrawerOpen(GravityCompat.START)) {
+ return false;
+ }
// Bring up the search UI if the user starts typing
final int unicodeChar = event.getUnicodeChar();
if ((unicodeChar != 0)
diff --git a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
index f4d244e..f07c4a5 100644
--- a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
@@ -1228,12 +1228,12 @@
}
public boolean onKeyDown(int unicodeChar) {
- if (mActionBarAdapter.isSelectionMode()) {
+ if (mActionBarAdapter != null && mActionBarAdapter.isSelectionMode()) {
// Ignore keyboard input when in selection mode.
return true;
}
- if (!mActionBarAdapter.isSearchMode()) {
+ if (mActionBarAdapter != null && !mActionBarAdapter.isSearchMode()) {
final String query = new String(new int[]{unicodeChar}, 0, 1);
mActionBarAdapter.setSearchMode(true);
mActionBarAdapter.setQueryString(query);