am 9d87d918: am 9a2e803c: am db5fe64c: Merge "Correcting population of search box with voice search results." into lmp-mr1-dev

* commit '9d87d918e4dcaa667db1ec74fde7cab549a8fa87':
  Correcting population of search box with voice search results.
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index 3c9b870..5e6f035 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -229,6 +229,12 @@
 
     private int mActionBarHeight;
 
+    /**
+     * The text returned from a voice search query.  Set in {@link #onActivityResult} and used in
+     * {@link #onResume()} to populate the search box.
+     */
+    private String mVoiceSearchQuery;
+
     private class OptionsPopupMenu extends PopupMenu {
         public OptionsPopupMenu(Context context, View anchor) {
             super(context, anchor, Gravity.END);
@@ -477,6 +483,16 @@
             showDialpadFragment(false);
             mShowDialpadOnResume = false;
         }
+
+        // If there was a voice query result returned in the {@link #onActivityResult} callback, it
+        // will have been stashed in mVoiceSearchQuery since the search results fragment cannot be
+        // shown until onResume has completed.  Active the search UI and set the search term now.
+        if (!TextUtils.isEmpty(mVoiceSearchQuery)) {
+            mActionBarController.onSearchBoxTapped();
+            mSearchView.setText(mVoiceSearchQuery);
+            mVoiceSearchQuery = null;
+        }
+
         mFirstLaunch = false;
 
         if (mIsRestarting) {
@@ -618,7 +634,7 @@
                         RecognizerIntent.EXTRA_RESULTS);
                 if (matches.size() > 0) {
                     final String match = matches.get(0);
-                    mSearchView.setText(match);
+                    mVoiceSearchQuery = match;
                 } else {
                     Log.e(TAG, "Voice search - nothing heard");
                 }