Dashboard search bar polish

Various tweaks to match redlines:
- background is now grey all the time
- the search icon is aligned with the other icons
- the title text is primary colored instead of accent colored
- the background of search bar doesn't scroll anymore

Deletes a bunch of logic to add an initial view that would be
colored based on the first view. It never quite worked right.
Now it's consistent and never moves.

Bug: 37477506
Change-Id: I82c584e8f8ecc6fc298c5cdbce08516c6a069a39
Fixes: 62267378
Fixes: 62379978
Fixes: 62361213
Test: robotests
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 805f965..556dbfb 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -337,6 +337,14 @@
             Toolbar toolbar = findViewById(R.id.search_action_bar);
             toolbar.setOnClickListener(this);
             setActionBar(toolbar);
+
+            // Please forgive me for what I am about to do.
+            //
+            // Need to make the navigation icon non-clickable so that the entire card is clickable
+            // and goes to the search UI. Also set the background to null so there's no ripple.
+            View navView = toolbar.getNavigationView();
+            navView.setClickable(false);
+            navView.setBackground(null);
         }
 
         ActionBar actionBar = getActionBar();
diff --git a/src/com/android/settings/dashboard/DashboardAdapter.java b/src/com/android/settings/dashboard/DashboardAdapter.java
index 02b82b9..38a65da 100644
--- a/src/com/android/settings/dashboard/DashboardAdapter.java
+++ b/src/com/android/settings/dashboard/DashboardAdapter.java
@@ -65,7 +65,6 @@
     private static final String STATE_CATEGORY_LIST = "category_list";
     private static final String STATE_SUGGESTION_MODE = "suggestion_mode";
     private static final String STATE_SUGGESTIONS_SHOWN_LOGGED = "suggestions_shown_logged";
-    private static final int DONT_SET_BACKGROUND_ATTR = -1;
     private static final String STATE_SUGGESTION_CONDITION_MODE = "suggestion_condition_mode";
 
     private final IconCache mCache;
@@ -305,9 +304,6 @@
     public void onBindViewHolder(DashboardItemHolder holder, int position) {
         final int type = mDashboardData.getItemTypeByPosition(position);
         switch (type) {
-            case R.layout.dashboard_header_spacer:
-                onBindHeaderSpacer(holder, position);
-                break;
             case R.layout.dashboard_tile:
                 final Tile tile = (Tile) mDashboardData.getItemEntityByPosition(position);
                 onBindTile(holder, tile);
@@ -480,33 +476,6 @@
         notifyDashboardDataChanged(prevData);
     }
 
-    private void onBindHeaderSpacer(DashboardItemHolder holder, int position) {
-        if (mDashboardData.size() > (position + 1)) {
-            // The spacer that goes underneath the search bar needs to match the
-            // background of the first real view. That view is either a condition,
-            // a suggestion, or the dashboard item.
-            //
-            // If it's a dashboard item, set null background so it uses the parent's
-            // background like the other views. Otherwise, match the colors.
-            int nextType = mDashboardData.getItemTypeByPosition(position + 1);
-            int colorAttr = nextType == R.layout.suggestion_header
-                    ? android.R.attr.colorSecondary
-                    : nextType == R.layout.condition_card
-                            ? android.R.attr.colorAccent
-                            : DONT_SET_BACKGROUND_ATTR;
-
-            if (colorAttr != DONT_SET_BACKGROUND_ATTR) {
-                TypedArray array = holder.itemView.getContext()
-                        .obtainStyledAttributes(new int[]{colorAttr});
-                @ColorInt int color = array.getColor(0, 0);
-                array.recycle();
-                holder.itemView.setBackgroundColor(color);
-            } else {
-                holder.itemView.setBackground(null);
-            }
-        }
-    }
-
     @VisibleForTesting
     void onBindSuggestionHeader(final DashboardItemHolder holder, DashboardData
             .SuggestionHeaderData data) {
diff --git a/src/com/android/settings/dashboard/DashboardData.java b/src/com/android/settings/dashboard/DashboardData.java
index 7bf7729..9f0bb6c 100644
--- a/src/com/android/settings/dashboard/DashboardData.java
+++ b/src/com/android/settings/dashboard/DashboardData.java
@@ -59,8 +59,7 @@
     public static final int DEFAULT_SUGGESTION_COUNT = 2;
 
     // id namespace for different type of items.
-    private static final int NS_HEADER_SPACER = 0;
-    private static final int NS_SPACER = 1000;
+    private static final int NS_SPACER = 0;
     private static final int NS_ITEMS = 2000;
     private static final int NS_CONDITION = 3000;
     private static final int NS_SUGGESTION_CONDITION = 4000;
@@ -281,9 +280,6 @@
      * and mIsShowingAll, mSuggestionMode flag.
      */
     private void buildItemsData() {
-        // add the view that goes under the search bar
-        countItem(null, R.layout.dashboard_header_spacer, true, NS_HEADER_SPACER);
-        resetCount();
         final boolean hasSuggestions = sizeOf(mSuggestions) > 0;
         if (!mCombineSuggestionAndCondition) {
             boolean hasConditions = false;