Search - add "live" search results

- now it is possible to have Search results directly when
you are typing (and not only when you press on the Search button
in the IME)
- implement onQueryTextChange(...)
- take care about re-runnin the saved query when the app is resumed

Change-Id: I021c8a9a95b50dce69ab6dace81eecb2fb188f18
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 0680762..b42f2d0 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -616,6 +616,10 @@
         registerReceiver(mBatteryInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
 
         mDynamicIndexableContentMonitor.register(this);
+
+        if(!TextUtils.isEmpty(mSearchQuery)) {
+            onQueryTextSubmit(mSearchQuery);
+        }
     }
 
     @Override
@@ -1226,7 +1230,10 @@
     @Override
     public boolean onQueryTextChange(String newText) {
         mSearchQuery = newText;
-        return false;
+        if (TextUtils.isEmpty(newText) && mSearchResultsFragment == null) {
+            return false;
+        }
+        return mSearchResultsFragment.onQueryTextChange(newText);
     }
 
     @Override
diff --git a/src/com/android/settings/dashboard/SearchResultsSummary.java b/src/com/android/settings/dashboard/SearchResultsSummary.java
index 94f3778..ba357d1 100644
--- a/src/com/android/settings/dashboard/SearchResultsSummary.java
+++ b/src/com/android/settings/dashboard/SearchResultsSummary.java
@@ -151,6 +151,11 @@
         return true;
     }
 
+    public boolean onQueryTextChange(String query) {
+        updateSearchResults(query);
+        return true;
+    }
+
     public boolean onClose() {
         clearResults();
         return false;