Merge "Breaks the build. Issue being tracked in b/15538481" into lmp-preview-dev
diff --git a/res/drawable-hdpi/ic_power_system.png b/res/drawable-hdpi/ic_power_system.png
index 5e7cf99..3592466 100644
--- a/res/drawable-hdpi/ic_power_system.png
+++ b/res/drawable-hdpi/ic_power_system.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_search_history.png b/res/drawable-hdpi/ic_search_history.png
new file mode 100644
index 0000000..eaef70c
--- /dev/null
+++ b/res/drawable-hdpi/ic_search_history.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_settings_cell_standby.png b/res/drawable-hdpi/ic_settings_cell_standby.png
index 262a860..7d51c80 100644
--- a/res/drawable-hdpi/ic_settings_cell_standby.png
+++ b/res/drawable-hdpi/ic_settings_cell_standby.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_settings_language.png b/res/drawable-hdpi/ic_settings_language.png
index bf641aa..e27035a 100644
--- a/res/drawable-hdpi/ic_settings_language.png
+++ b/res/drawable-hdpi/ic_settings_language.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_settings_more.png b/res/drawable-hdpi/ic_settings_more.png
index e9b6309..61bb00c 100644
--- a/res/drawable-hdpi/ic_settings_more.png
+++ b/res/drawable-hdpi/ic_settings_more.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_settings_phone_idle.png b/res/drawable-hdpi/ic_settings_phone_idle.png
index fd66f84..6ae7f5e 100644
--- a/res/drawable-hdpi/ic_settings_phone_idle.png
+++ b/res/drawable-hdpi/ic_settings_phone_idle.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_settings_voice_calls.png b/res/drawable-hdpi/ic_settings_voice_calls.png
index 3cb7e49..b3cefda 100644
--- a/res/drawable-hdpi/ic_settings_voice_calls.png
+++ b/res/drawable-hdpi/ic_settings_voice_calls.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_sync_anim_holo.png b/res/drawable-hdpi/ic_sync_anim_holo.png
index bc8dc58..4a0ddfa 100644
--- a/res/drawable-hdpi/ic_sync_anim_holo.png
+++ b/res/drawable-hdpi/ic_sync_anim_holo.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_sync_error_holo.png b/res/drawable-hdpi/ic_sync_error_holo.png
index 3e34bd0..ab3c34f 100644
--- a/res/drawable-hdpi/ic_sync_error_holo.png
+++ b/res/drawable-hdpi/ic_sync_error_holo.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_sync_green_holo.png b/res/drawable-hdpi/ic_sync_green_holo.png
index 2588f3d..692289a 100644
--- a/res/drawable-hdpi/ic_sync_green_holo.png
+++ b/res/drawable-hdpi/ic_sync_green_holo.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_sync_grey_holo.png b/res/drawable-hdpi/ic_sync_grey_holo.png
index 4c7060d..6f86d13 100644
--- a/res/drawable-hdpi/ic_sync_grey_holo.png
+++ b/res/drawable-hdpi/ic_sync_grey_holo.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_sync_red_holo.png b/res/drawable-hdpi/ic_sync_red_holo.png
index b65520d..7b21b14 100644
--- a/res/drawable-hdpi/ic_sync_red_holo.png
+++ b/res/drawable-hdpi/ic_sync_red_holo.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_power_system.png b/res/drawable-mdpi/ic_power_system.png
old mode 100755
new mode 100644
index cce5187..f9813d9
--- a/res/drawable-mdpi/ic_power_system.png
+++ b/res/drawable-mdpi/ic_power_system.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_search_history.png b/res/drawable-mdpi/ic_search_history.png
new file mode 100644
index 0000000..fd6755f
--- /dev/null
+++ b/res/drawable-mdpi/ic_search_history.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_settings_cell_standby.png b/res/drawable-mdpi/ic_settings_cell_standby.png
index 0ac7b5d..c922222 100644
--- a/res/drawable-mdpi/ic_settings_cell_standby.png
+++ b/res/drawable-mdpi/ic_settings_cell_standby.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_settings_language.png b/res/drawable-mdpi/ic_settings_language.png
index a6dba3c..604a710 100644
--- a/res/drawable-mdpi/ic_settings_language.png
+++ b/res/drawable-mdpi/ic_settings_language.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_settings_more.png b/res/drawable-mdpi/ic_settings_more.png
index 8619833..bad02c8 100644
--- a/res/drawable-mdpi/ic_settings_more.png
+++ b/res/drawable-mdpi/ic_settings_more.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_settings_phone_idle.png b/res/drawable-mdpi/ic_settings_phone_idle.png
index 7734b09..92b4b0a 100644
--- a/res/drawable-mdpi/ic_settings_phone_idle.png
+++ b/res/drawable-mdpi/ic_settings_phone_idle.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_settings_voice_calls.png b/res/drawable-mdpi/ic_settings_voice_calls.png
index 89d04d7..9277295 100644
--- a/res/drawable-mdpi/ic_settings_voice_calls.png
+++ b/res/drawable-mdpi/ic_settings_voice_calls.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_sync_anim_holo.png b/res/drawable-mdpi/ic_sync_anim_holo.png
index 66db062..f9affbd 100644
--- a/res/drawable-mdpi/ic_sync_anim_holo.png
+++ b/res/drawable-mdpi/ic_sync_anim_holo.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_sync_error_holo.png b/res/drawable-mdpi/ic_sync_error_holo.png
index dd3958e..06f638a 100644
--- a/res/drawable-mdpi/ic_sync_error_holo.png
+++ b/res/drawable-mdpi/ic_sync_error_holo.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_sync_green_holo.png b/res/drawable-mdpi/ic_sync_green_holo.png
index 1c981b66..dd15bf9 100644
--- a/res/drawable-mdpi/ic_sync_green_holo.png
+++ b/res/drawable-mdpi/ic_sync_green_holo.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_sync_grey_holo.png b/res/drawable-mdpi/ic_sync_grey_holo.png
index bb4267f..b6afc12 100644
--- a/res/drawable-mdpi/ic_sync_grey_holo.png
+++ b/res/drawable-mdpi/ic_sync_grey_holo.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_sync_red_holo.png b/res/drawable-mdpi/ic_sync_red_holo.png
index 36fe6b8..3bb9980 100644
--- a/res/drawable-mdpi/ic_sync_red_holo.png
+++ b/res/drawable-mdpi/ic_sync_red_holo.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_power_system.png b/res/drawable-xhdpi/ic_power_system.png
index 9a360f7..8671616 100644
--- a/res/drawable-xhdpi/ic_power_system.png
+++ b/res/drawable-xhdpi/ic_power_system.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_search_history.png b/res/drawable-xhdpi/ic_search_history.png
new file mode 100644
index 0000000..7183fc2
--- /dev/null
+++ b/res/drawable-xhdpi/ic_search_history.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_settings_cell_standby.png b/res/drawable-xhdpi/ic_settings_cell_standby.png
index cf783dc..a02b5a2 100644
--- a/res/drawable-xhdpi/ic_settings_cell_standby.png
+++ b/res/drawable-xhdpi/ic_settings_cell_standby.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_settings_language.png b/res/drawable-xhdpi/ic_settings_language.png
index 24a1d3c..4e44c01 100644
--- a/res/drawable-xhdpi/ic_settings_language.png
+++ b/res/drawable-xhdpi/ic_settings_language.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_settings_more.png b/res/drawable-xhdpi/ic_settings_more.png
index 717b7ec..8b9fe07 100644
--- a/res/drawable-xhdpi/ic_settings_more.png
+++ b/res/drawable-xhdpi/ic_settings_more.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_settings_phone_idle.png b/res/drawable-xhdpi/ic_settings_phone_idle.png
index 09c322f..1f8bd65 100644
--- a/res/drawable-xhdpi/ic_settings_phone_idle.png
+++ b/res/drawable-xhdpi/ic_settings_phone_idle.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_settings_voice_calls.png b/res/drawable-xhdpi/ic_settings_voice_calls.png
index 07b9074..fac4916 100644
--- a/res/drawable-xhdpi/ic_settings_voice_calls.png
+++ b/res/drawable-xhdpi/ic_settings_voice_calls.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_sync_anim_holo.png b/res/drawable-xhdpi/ic_sync_anim_holo.png
index d315e95..34071fe 100644
--- a/res/drawable-xhdpi/ic_sync_anim_holo.png
+++ b/res/drawable-xhdpi/ic_sync_anim_holo.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_sync_error_holo.png b/res/drawable-xhdpi/ic_sync_error_holo.png
index 85f19bf..1e8c170 100644
--- a/res/drawable-xhdpi/ic_sync_error_holo.png
+++ b/res/drawable-xhdpi/ic_sync_error_holo.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_sync_green_holo.png b/res/drawable-xhdpi/ic_sync_green_holo.png
index 95e2d7d..b66eb3f 100644
--- a/res/drawable-xhdpi/ic_sync_green_holo.png
+++ b/res/drawable-xhdpi/ic_sync_green_holo.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_sync_grey_holo.png b/res/drawable-xhdpi/ic_sync_grey_holo.png
index 10cc48a..a05bdae 100644
--- a/res/drawable-xhdpi/ic_sync_grey_holo.png
+++ b/res/drawable-xhdpi/ic_sync_grey_holo.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_sync_red_holo.png b/res/drawable-xhdpi/ic_sync_red_holo.png
index c4b9136..63898c4 100644
--- a/res/drawable-xhdpi/ic_sync_red_holo.png
+++ b/res/drawable-xhdpi/ic_sync_red_holo.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_power_system.png b/res/drawable-xxhdpi/ic_power_system.png
new file mode 100644
index 0000000..8d4979f
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_power_system.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_search_history.png b/res/drawable-xxhdpi/ic_search_history.png
new file mode 100644
index 0000000..174409b
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_search_history.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_settings_cell_standby.png b/res/drawable-xxhdpi/ic_settings_cell_standby.png
new file mode 100644
index 0000000..07d5c85
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_settings_cell_standby.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_settings_language.png b/res/drawable-xxhdpi/ic_settings_language.png
index 2303abe..3d6559d 100644
--- a/res/drawable-xxhdpi/ic_settings_language.png
+++ b/res/drawable-xxhdpi/ic_settings_language.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_settings_more.png b/res/drawable-xxhdpi/ic_settings_more.png
index 507a279..0e0ba13 100644
--- a/res/drawable-xxhdpi/ic_settings_more.png
+++ b/res/drawable-xxhdpi/ic_settings_more.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_settings_phone_idle.png b/res/drawable-xxhdpi/ic_settings_phone_idle.png
new file mode 100644
index 0000000..a6fe868
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_settings_phone_idle.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_settings_voice_calls.png b/res/drawable-xxhdpi/ic_settings_voice_calls.png
new file mode 100644
index 0000000..78e4483
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_settings_voice_calls.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_sync_anim_holo.png b/res/drawable-xxhdpi/ic_sync_anim_holo.png
new file mode 100644
index 0000000..98be2be
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_sync_anim_holo.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_sync_error_holo.png b/res/drawable-xxhdpi/ic_sync_error_holo.png
new file mode 100644
index 0000000..8b7fee5
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_sync_error_holo.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_sync_green_holo.png b/res/drawable-xxhdpi/ic_sync_green_holo.png
new file mode 100644
index 0000000..696ca25
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_sync_green_holo.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_sync_grey_holo.png b/res/drawable-xxhdpi/ic_sync_grey_holo.png
new file mode 100644
index 0000000..b8d7685
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_sync_grey_holo.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_sync_red_holo.png b/res/drawable-xxhdpi/ic_sync_red_holo.png
new file mode 100644
index 0000000..c0cd4533
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_sync_red_holo.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_power_system.png b/res/drawable-xxxhdpi/ic_power_system.png
new file mode 100644
index 0000000..bc92e90
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_power_system.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_search_history.png b/res/drawable-xxxhdpi/ic_search_history.png
new file mode 100644
index 0000000..ffce51e
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_search_history.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_settings_cell_standby.png b/res/drawable-xxxhdpi/ic_settings_cell_standby.png
new file mode 100644
index 0000000..3c864ce
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_settings_cell_standby.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_settings_language.png b/res/drawable-xxxhdpi/ic_settings_language.png
index 04f0f8d..c9447bd 100644
--- a/res/drawable-xxxhdpi/ic_settings_language.png
+++ b/res/drawable-xxxhdpi/ic_settings_language.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_settings_phone_idle.png b/res/drawable-xxxhdpi/ic_settings_phone_idle.png
new file mode 100644
index 0000000..4851676
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_settings_phone_idle.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_settings_voice_calls.png b/res/drawable-xxxhdpi/ic_settings_voice_calls.png
new file mode 100644
index 0000000..633cfc1
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_settings_voice_calls.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_sync_anim_holo.png b/res/drawable-xxxhdpi/ic_sync_anim_holo.png
new file mode 100644
index 0000000..b48c4db
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_sync_anim_holo.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_sync_error_holo.png b/res/drawable-xxxhdpi/ic_sync_error_holo.png
new file mode 100644
index 0000000..56ae11e
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_sync_error_holo.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_sync_green_holo.png b/res/drawable-xxxhdpi/ic_sync_green_holo.png
new file mode 100644
index 0000000..5227542
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_sync_green_holo.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_sync_grey_holo.png b/res/drawable-xxxhdpi/ic_sync_grey_holo.png
new file mode 100644
index 0000000..a0ae3f3
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_sync_grey_holo.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_sync_red_holo.png b/res/drawable-xxxhdpi/ic_sync_red_holo.png
new file mode 100644
index 0000000..3ac5f63
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_sync_red_holo.png
Binary files differ
diff --git a/res/layout/search_panel.xml b/res/layout/search_panel.xml
index 1242c73..c892ff9 100644
--- a/res/layout/search_panel.xml
+++ b/res/layout/search_panel.xml
@@ -33,17 +33,6 @@
                 android:layout_gravity="center"
                 android:orientation="vertical">
 
-            <TextView android:layout_width="wrap_content"
-                      android:layout_height="@dimen/dashboard_category_title_height"
-                      android:paddingStart="@dimen/search_title_padding_start"
-                      android:singleLine="true"
-                      android:ellipsize="marquee"
-                      android:gravity="center_vertical"
-                      android:textAppearance="@style/TextAppearance.RecentsTitle"
-                      android:textAlignment="viewStart"
-                      android:text="@string/search_recents_queries_label"
-                    />
-
             <ListView android:id="@+id/list_suggestions"
                     android:layout_width="match_parent"
                     android:layout_height="match_parent"
@@ -58,17 +47,6 @@
                 android:orientation="vertical"
                 android:layout_weight="1">
 
-            <TextView android:layout_width="wrap_content"
-                      android:layout_height="@dimen/dashboard_category_title_height"
-                      android:paddingStart="@dimen/search_title_padding_start"
-                      android:singleLine="true"
-                      android:ellipsize="marquee"
-                      android:gravity="center_vertical"
-                      android:textAppearance="@style/TextAppearance.ResultTitle"
-                      android:textAlignment="viewStart"
-                      android:text="@string/search_results_label"
-                    />
-
             <ListView android:id="@+id/list_results"
                     android:layout_width="match_parent"
                     android:layout_height="match_parent"
diff --git a/res/layout/search_panel_results_header.xml b/res/layout/search_panel_results_header.xml
new file mode 100644
index 0000000..07f77a7
--- /dev/null
+++ b/res/layout/search_panel_results_header.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+          android:layout_width="wrap_content"
+          android:layout_height="@dimen/dashboard_category_title_height"
+          android:paddingStart="@dimen/search_title_padding_start"
+          android:singleLine="true"
+          android:ellipsize="marquee"
+          android:gravity="center_vertical"
+          android:textAppearance="@style/TextAppearance.ResultTitle"
+          android:textAlignment="viewStart"
+          android:text="@string/search_results_label"
+        />
diff --git a/res/layout/search_panel_suggestions_header.xml b/res/layout/search_panel_suggestions_header.xml
new file mode 100644
index 0000000..21500bc
--- /dev/null
+++ b/res/layout/search_panel_suggestions_header.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+          android:layout_width="wrap_content"
+          android:layout_height="@dimen/dashboard_category_title_height"
+          android:paddingStart="@dimen/search_title_padding_start"
+          android:singleLine="true"
+          android:ellipsize="marquee"
+          android:gravity="center_vertical"
+          android:textAppearance="@style/TextAppearance.RecentsTitle"
+          android:textAlignment="viewStart"
+          android:text="@string/search_recents_queries_label"
+        />
diff --git a/res/layout/search_suggestion_item.xml b/res/layout/search_suggestion_item.xml
index b92a7f0..245b684 100644
--- a/res/layout/search_suggestion_item.xml
+++ b/res/layout/search_suggestion_item.xml
@@ -20,13 +20,39 @@
               android:minHeight="?android:attr/listPreferredItemHeight"
               android:gravity="center_vertical">
 
-    <TextView android:id="@+id/title"
-              android:layout_width="wrap_content"
-              android:layout_height="wrap_content"
-              android:paddingStart="@dimen/search_title_padding_start"
-              android:singleLine="true"
-              android:textAppearance="?android:attr/textAppearanceMedium"
-              android:ellipsize="marquee"
-              android:fadingEdge="horizontal" />
+    <RelativeLayout
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_weight="1">
+
+        <TextView android:id="@+id/title"
+                  android:layout_width="wrap_content"
+                  android:layout_height="wrap_content"
+                  android:paddingStart="@dimen/search_title_padding_start"
+                  android:singleLine="true"
+                  android:textAppearance="?android:attr/textAppearanceMedium"
+                  android:ellipsize="marquee"
+                  android:fadingEdge="horizontal" />
+
+    </RelativeLayout>
+
+    <LinearLayout
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:gravity="center"
+            android:minWidth="@*android:dimen/preference_icon_minWidth"
+            android:orientation="horizontal">
+
+        <ImageView
+                android:id="@+id/icon"
+                android:layout_width="@dimen/search_suggestion_item_image_size"
+                android:layout_height="@dimen/search_suggestion_item_image_size"
+                android:scaleType="centerInside"
+                android:src="@drawable/ic_search_history"
+                android:layout_marginStart="@dimen/search_suggestion_item_image_margin_start"
+                android:layout_marginEnd="@dimen/search_suggestion_item_image_margin_end"
+                />
+
+    </LinearLayout>
 
 </LinearLayout>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index b656182..12c92c8 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -136,4 +136,11 @@
     <dimen name="search_result_item_image_margin_start">16dp</dimen>
     <dimen name="search_result_item_image_margin_end">32dp</dimen>
 
+    <!-- Suggestion item image size -->
+    <dimen name="search_suggestion_item_image_size">24dp</dimen>
+
+    <!-- Suggestion item image margin start / end -->
+    <dimen name="search_suggestion_item_image_margin_start">32dp</dimen>
+    <dimen name="search_suggestion_item_image_margin_end">16dp</dimen>
+
 </resources>
diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java
index 75236de..ae1d8d1 100644
--- a/src/com/android/settings/DisplaySettings.java
+++ b/src/com/android/settings/DisplaySettings.java
@@ -299,7 +299,8 @@
                 @Override
                 public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
                         boolean enabled) {
-                    ArrayList<SearchIndexableResource> result = new ArrayList<>(1);
+                    ArrayList<SearchIndexableResource> result =
+                            new ArrayList<SearchIndexableResource>();
 
                     SearchIndexableResource sir = new SearchIndexableResource(context);
                     sir.xmlResId = R.xml.display_settings;
@@ -310,11 +311,15 @@
 
                 @Override
                 public List<String> getNonIndexableKeys(Context context) {
-                    ArrayList<String> nonIndexableKeys = new ArrayList<>(1);
-                    if (!isAutomaticBrightnessAvailable(context.getResources())) {
-                        nonIndexableKeys.add(KEY_AUTO_BRIGHTNESS);
+                    ArrayList<String> result = new ArrayList<String>();
+                    if (!context.getResources().getBoolean(
+                            com.android.internal.R.bool.config_dreamsSupported)) {
+                        result.add(KEY_SCREEN_SAVER);
                     }
-                    return nonIndexableKeys;
+                    if (!isAutomaticBrightnessAvailable(context.getResources())) {
+                        result.add(KEY_AUTO_BRIGHTNESS);
+                    }
+                    return result;
                 }
             };
 }
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index ad7d473..12dee4a 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -175,10 +175,11 @@
 
     /**
      * When starting this activity and using {@link #EXTRA_SHOW_FRAGMENT},
-     * this extra can also be specify to supply the title to be shown for
+     * those extra can also be specify to supply the title or title res id to be shown for
      * that fragment.
      */
     public static final String EXTRA_SHOW_FRAGMENT_TITLE = ":settings:show_fragment_title";
+    public static final String EXTRA_SHOW_FRAGMENT_TITLE_RESID = ":settings:show_fragment_title_resid";
 
     private static final String META_DATA_KEY_FRAGMENT_CLASS =
         "com.android.settings.FRAGMENT_CLASS";
@@ -192,6 +193,7 @@
     private String mFragmentClass;
 
     private CharSequence mInitialTitle;
+    private int mInitialTitleResId;
 
     // Show only these settings for restricted users
     private int[] SETTINGS_FOR_RESTRICTED = {
@@ -478,9 +480,7 @@
             mSearchMenuItemExpanded = savedState.getBoolean(SAVE_KEY_SEARCH_MENU_EXPANDED);
             mSearchQuery = savedState.getString(SAVE_KEY_SEARCH_QUERY);
 
-            final String initialTitle = getIntent().getStringExtra(EXTRA_SHOW_FRAGMENT_TITLE);
-            mInitialTitle = (initialTitle != null) ? initialTitle : getTitle();
-            setTitle(mInitialTitle);
+            setTitleFromIntent(getIntent());
 
             ArrayList<DashboardCategory> categories =
                     savedState.getParcelableArrayList(SAVE_KEY_CATEGORIES);
@@ -500,19 +500,17 @@
                     mDisplayHomeAsUpEnabled = false;
                     mDisplaySearch = false;
                 }
-                final String initialTitle = getIntent().getStringExtra(EXTRA_SHOW_FRAGMENT_TITLE);
-                mInitialTitle = (initialTitle != null) ? initialTitle : getTitle();
-                setTitle(mInitialTitle);
+                setTitleFromIntent(getIntent());
 
                 Bundle initialArguments = getIntent().getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS);
-                switchToFragment( initialFragmentName, initialArguments, true, false,
-                        mInitialTitle, false);
+                switchToFragment(initialFragmentName, initialArguments, true, false,
+                        mInitialTitleResId, mInitialTitle, false);
             } else {
                 // No UP if we are displaying the main Dashboard
                 mDisplayHomeAsUpEnabled = false;
-                mInitialTitle = getText(R.string.dashboard_title);
+                mInitialTitleResId = R.string.dashboard_title;
                 switchToFragment(DashboardSummary.class.getName(), null, false, false,
-                        mInitialTitle, false);
+                        mInitialTitleResId, mInitialTitle, false);
             }
         }
 
@@ -579,6 +577,20 @@
         }
     }
 
+    private void setTitleFromIntent(Intent intent) {
+        final int initialTitleResId = intent.getIntExtra(EXTRA_SHOW_FRAGMENT_TITLE_RESID, -1);
+        if (initialTitleResId > 0) {
+            mInitialTitle = null;
+            mInitialTitleResId = initialTitleResId;
+            setTitle(mInitialTitleResId);
+        } else {
+            mInitialTitleResId = -1;
+            final String initialTitle = intent.getStringExtra(EXTRA_SHOW_FRAGMENT_TITLE);
+            mInitialTitle = (initialTitle != null) ? initialTitle : getTitle();
+            setTitle(mInitialTitle);
+        }
+    }
+
     @Override
     public void onBackStackChanged() {
         setTitleFromBackStack();
@@ -588,7 +600,11 @@
         final int count = getFragmentManager().getBackStackEntryCount();
 
         if (count == 0) {
-            setTitle(mInitialTitle);
+            if (mInitialTitleResId > 0) {
+                setTitle(mInitialTitleResId);
+            } else {
+                setTitle(mInitialTitle);
+            }
             return 0;
         }
 
@@ -753,16 +769,17 @@
      */
     public void startPreferencePanel(String fragmentClass, Bundle args, int titleRes,
             CharSequence titleText, Fragment resultTo, int resultRequestCode) {
-        String title;
-        if (titleRes > 0) {
-            title = getString(titleRes);
-        } else if (titleText != null) {
-            title = titleText.toString();
-        } else {
-            // There not much we can do in that case
-            title = "";
+        String title = null;
+        if (titleRes < 0) {
+            if (titleText != null) {
+                title = titleText.toString();
+            } else {
+                // There not much we can do in that case
+                title = "";
+            }
         }
-        Utils.startWithFragment(this, fragmentClass, args, resultTo, resultRequestCode, title);
+        Utils.startWithFragment(this, fragmentClass, args, resultTo, resultRequestCode,
+                titleRes, title);
     }
 
     /**
@@ -801,7 +818,7 @@
      * Switch to a specific Fragment with taking care of validation, Title and BackStack
      */
     private Fragment switchToFragment(String fragmentName, Bundle args, boolean validate,
-            boolean addToBackStack, CharSequence title, boolean withTransition) {
+            boolean addToBackStack, int titleResId, CharSequence title, boolean withTransition) {
         if (validate && !isValidFragment(fragmentName)) {
             throw new IllegalArgumentException("Invalid fragment for this activity: "
                     + fragmentName);
@@ -815,7 +832,9 @@
         if (addToBackStack) {
             transaction.addToBackStack(SettingsActivity.BACK_STACK_PREFS);
         }
-        if (title != null) {
+        if (titleResId > 0) {
+            transaction.setBreadCrumbTitle(titleResId);
+        } else if (title != null) {
             transaction.setBreadCrumbTitle(title);
         }
         transaction.commitAllowingStateLoss();
@@ -1270,10 +1289,9 @@
         if (current != null && current instanceof SearchResultsSummary) {
             mSearchResultsFragment = (SearchResultsSummary) current;
         } else {
-            String title = getString(R.string.search_results_title);
             mSearchResultsFragment = (SearchResultsSummary) switchToFragment(
-                    SearchResultsSummary.class.getName(), null, false, true, title,
-                    true);
+                    SearchResultsSummary.class.getName(), null, false, true,
+                    R.string.search_results_title, null, true);
         }
         mSearchResultsFragment.setSearchView(mSearchView);
         mSearchMenuItemExpanded = true;
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 1b64064..59a137e 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -519,15 +519,16 @@
      * @param context The context.
      * @param fragmentName The name of the fragment to display.
      * @param args Optional arguments to supply to the fragment.
-     * @param resultTo Option fragment that should receive the result of
-     * the activity launch.
-     * @param resultRequestCode If resultTo is non-null, this is the request
-     * code in which to report the result.
+     * @param resultTo Option fragment that should receive the result of the activity launch.
+     * @param resultRequestCode If resultTo is non-null, this is the request code in which
+     *                          to report the result.
+     * @param titleResId resource id for the String to display for the title of this set
+     *                   of preferences.
      * @param title String to display for the title of this set of preferences.
      */
     public static void startWithFragment(Context context, String fragmentName, Bundle args,
-            Fragment resultTo, int resultRequestCode, CharSequence title) {
-        Intent intent = onBuildStartFragmentIntent(context, fragmentName, args, title);
+            Fragment resultTo, int resultRequestCode, int titleResId, CharSequence title) {
+        Intent intent = onBuildStartFragmentIntent(context, fragmentName, args, titleResId, title);
         if (resultTo == null) {
             context.startActivity(intent);
         } else {
@@ -543,16 +544,18 @@
      * @param context The Context.
      * @param fragmentName The name of the fragment to display.
      * @param args Optional arguments to supply to the fragment.
+     * @param titleResId Optional title resource id to show for this item.
      * @param title Optional title to show for this item.
      * @return Returns an Intent that can be launched to display the given
      * fragment.
      */
     public static Intent onBuildStartFragmentIntent(Context context, String fragmentName,
-            Bundle args, CharSequence title) {
+            Bundle args, int titleResId, CharSequence title) {
         Intent intent = new Intent(Intent.ACTION_MAIN);
         intent.setClass(context, SubSettings.class);
         intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT, fragmentName);
         intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS, args);
+        intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID, titleResId);
         intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE, title);
         return intent;
     }
diff --git a/src/com/android/settings/dashboard/DashboardTileView.java b/src/com/android/settings/dashboard/DashboardTileView.java
index a114f70..099459c 100644
--- a/src/com/android/settings/dashboard/DashboardTileView.java
+++ b/src/com/android/settings/dashboard/DashboardTileView.java
@@ -85,7 +85,7 @@
     public void onClick(View v) {
         if (mTile.fragment != null) {
             Utils.startWithFragment(getContext(), mTile.fragment, mTile.fragmentArguments, null, 0,
-                    mTile.getTitle(getResources()));
+                    mTile.titleRes, mTile.getTitle(getResources()));
         } else if (mTile.intent != null) {
             getContext().startActivity(mTile.intent);
         }
diff --git a/src/com/android/settings/dashboard/SearchResultsSummary.java b/src/com/android/settings/dashboard/SearchResultsSummary.java
index 910d661..6981634 100644
--- a/src/com/android/settings/dashboard/SearchResultsSummary.java
+++ b/src/com/android/settings/dashboard/SearchResultsSummary.java
@@ -166,6 +166,9 @@
         mResultsListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                // We have a header, so we need to decrement the position by one
+                position--;
+
                 final Cursor cursor = mResultsAdapter.mCursor;
                 cursor.moveToPosition(position);
 
@@ -181,7 +184,7 @@
                     Bundle args = new Bundle();
                     args.putString(SettingsActivity.EXTRA_FRAGMENT_ARG_KEY, key);
 
-                    Utils.startWithFragment(sa, className, args, null, 0, screenTitle);
+                    Utils.startWithFragment(sa, className, args, null, 0, -1, screenTitle);
                 } else {
                     final Intent intent = new Intent(action);
 
@@ -202,12 +205,17 @@
                 saveQueryToDatabase();
             }
         });
+        mResultsListView.addHeaderView(
+                LayoutInflater.from(getActivity()).inflate(
+                R.layout.search_panel_results_header, mResultsListView, false));
 
         mSuggestionsListView = (ListView) view.findViewById(R.id.list_suggestions);
         mSuggestionsListView.setAdapter(mSuggestionsAdapter);
         mSuggestionsListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                // We have a header, so we need to decrement the position by one
+                position--;
                 final Cursor cursor = mSuggestionsAdapter.mCursor;
                 cursor.moveToPosition(position);
 
@@ -216,6 +224,9 @@
                 mSearchView.setQuery(mQuery, false);
             }
         });
+        mSuggestionsListView.addHeaderView(
+                LayoutInflater.from(getActivity()).inflate(
+                        R.layout.search_panel_suggestions_header, mSuggestionsListView, false));
 
         return view;
     }
diff --git a/src/com/android/settings/notification/AppNotificationSettings.java b/src/com/android/settings/notification/AppNotificationSettings.java
index 91035732..ec8af26 100644
--- a/src/com/android/settings/notification/AppNotificationSettings.java
+++ b/src/com/android/settings/notification/AppNotificationSettings.java
@@ -20,6 +20,7 @@
 import android.app.AlertDialog;
 import android.app.INotificationManager;
 import android.app.ListFragment;
+import android.app.Notification;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
@@ -65,10 +66,22 @@
     private static final String TAG = "AppNotificationSettings";
     private static final boolean DEBUG = true;
 
+    /**
+     * Show a checkbox in the per-app notification control dialog to allow the user
+     * to promote this app's notifications to higher priority.
+     */
+    private static final boolean ENABLE_APP_NOTIFICATION_PRIORITY_OPTION = false;
+    /**
+     * Show a checkbox in the per-app notification control dialog to allow the user to
+     * selectively redact this app's notifications on the lockscreen.
+     */
+    private static final boolean ENABLE_APP_NOTIFICATION_PRIVACY_OPTION = false;
+
     private static final String SECTION_BEFORE_A = "*";
     private static final String SECTION_AFTER_Z = "**";
     private static final Intent APP_NOTIFICATION_PREFS_CATEGORY_INTENT
-            = new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_NOTIFICATION_PREFERENCES);
+            = new Intent(Intent.ACTION_MAIN)
+                .addCategory(Notification.INTENT_CATEGORY_NOTIFICATION_PREFERENCES);
 
     private final Handler mHandler = new Handler();
     private final ArrayMap<String, AppRow> mRows = new ArrayMap<String, AppRow>();
@@ -187,6 +200,14 @@
         final CheckBox priBox = (CheckBox) layout.findViewById(android.R.id.button2);
         final CheckBox senBox = (CheckBox) layout.findViewById(android.R.id.button3);
 
+        if (!ENABLE_APP_NOTIFICATION_PRIORITY_OPTION) {
+            priBox.setVisibility(View.GONE);
+        }
+
+        if (!ENABLE_APP_NOTIFICATION_PRIVACY_OPTION) {
+            senBox.setVisibility(View.GONE);
+        }
+
         showBox.setChecked(!row.banned);
         final OnCheckedChangeListener showListener = new OnCheckedChangeListener() {
             @Override