Set directory search mode earlier

* The cause of the crash is that in ag/1424283 we set directory search
  mode in onResume in fragment (rather than before onStart), so loader
  and adapter gets old directory search mode (0). Then it will invoke
  DirectoryListLoader.getDefaultDirectories and IllegalArgumentException
  is thrown.

* We set it earlier now so that loader and adapter will set it correctly
  accordingly, which is consistent with the logic prior to ag/1424283.

Bug: 31778407

Test: manual:
  - follow steps to reproduce in the bug
  - verify search actions in tests APK work well

Change-Id: I5b2eaeaac5f3d1b45b9f9be722b76d94035a51e5
diff --git a/src/com/android/contacts/common/list/DirectoryListLoader.java b/src/com/android/contacts/common/list/DirectoryListLoader.java
index c45a3ca..13d0f92 100644
--- a/src/com/android/contacts/common/list/DirectoryListLoader.java
+++ b/src/com/android/contacts/common/list/DirectoryListLoader.java
@@ -199,11 +199,13 @@
             mDefaultDirectoryList.addRow(new Object[] {
                     Directory.DEFAULT,
                     getContext().getString(R.string.contactsList),
+                    null,
                     null
             });
             mDefaultDirectoryList.addRow(new Object[] {
                     Directory.LOCAL_INVISIBLE,
                     getContext().getString(R.string.local_invisible_directory),
+                    null,
                     null
             });
         }
diff --git a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
index dd45fc2..ebe812e 100644
--- a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
@@ -522,6 +522,8 @@
         if (savedInstanceState != null && savedInstanceState.getBoolean(KEY_DELETION_IN_PROGRESS)) {
             deleteSelectedContacts();
         }
+
+        setDirectorySearchMode();
     }
 
     public void initializeActionBarAdapter(Bundle savedInstanceState) {
@@ -587,7 +589,9 @@
 
         setQueryString(mActionBarAdapter.getQueryString(), true);
         setVisibleScrollbarEnabled(!isSearchMode());
+    }
 
+    private void setDirectorySearchMode() {
         if (mContactsRequest.isDirectorySearchEnabled()) {
             setDirectorySearchMode(DirectoryListLoader.SEARCH_MODE_DEFAULT);
         } else {