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);