Hide fast scroll preview for favorites section

Change favorites section title to be empty string
and make the distinction between null and empty titles.

Removes some unused custom scrollbar drawables to save some
APK size.

Bug:30893029
Change-Id: I6ac5d17299cb9bb09f42a7b00dd19f3dd39588a6
diff --git a/res/drawable-hdpi/ic_scroll_handle.png b/res/drawable-hdpi/ic_scroll_handle.png
deleted file mode 100644
index 3aa29b8..0000000
--- a/res/drawable-hdpi/ic_scroll_handle.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_scroll_handle.png b/res/drawable-mdpi/ic_scroll_handle.png
deleted file mode 100644
index af75db4..0000000
--- a/res/drawable-mdpi/ic_scroll_handle.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_scroll_handle.png b/res/drawable-xhdpi/ic_scroll_handle.png
deleted file mode 100644
index 2d43c4d..0000000
--- a/res/drawable-xhdpi/ic_scroll_handle.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_scroll_handle.png b/res/drawable-xxhdpi/ic_scroll_handle.png
deleted file mode 100644
index 55f1d13..0000000
--- a/res/drawable-xxhdpi/ic_scroll_handle.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_scroll_handle.png b/res/drawable-xxxhdpi/ic_scroll_handle.png
deleted file mode 100644
index d90782a..0000000
--- a/res/drawable-xxxhdpi/ic_scroll_handle.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/fastscroll_thumb.xml b/res/drawable/fastscroll_thumb.xml
deleted file mode 100644
index eca4b39..0000000
--- a/res/drawable/fastscroll_thumb.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?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.
--->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_pressed="true" android:drawable="@drawable/ic_scroll_handle_pressed" />
-    <item android:drawable="@drawable/ic_scroll_handle_default" />
-</selector>
\ No newline at end of file
diff --git a/res/drawable/ic_scroll_handle_default.xml b/res/drawable/ic_scroll_handle_default.xml
deleted file mode 100644
index 055005e..0000000
--- a/res/drawable/ic_scroll_handle_default.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?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.
--->
-
-<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
-    android:src="@drawable/ic_scroll_handle"
-    android:tint="@color/dialtacts_secondary_text_color" />
\ No newline at end of file
diff --git a/res/drawable/ic_scroll_handle_pressed.xml b/res/drawable/ic_scroll_handle_pressed.xml
deleted file mode 100644
index 9109c81..0000000
--- a/res/drawable/ic_scroll_handle_pressed.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?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.
--->
-
-<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
-    android:src="@drawable/ic_scroll_handle"
-    android:tint="@color/dialtacts_theme_color" />
\ No newline at end of file
diff --git a/res/values/donottranslate_config.xml b/res/values/donottranslate_config.xml
index 8668159..ac46a55 100644
--- a/res/values/donottranslate_config.xml
+++ b/res/values/donottranslate_config.xml
@@ -114,6 +114,4 @@
     <string name="pref_open_source_licenses_key">pref_open_source_licenses</string>
     <string name="pref_privacy_policy_key">pref_privacy_policy</string>
     <string name="pref_terms_of_service_key">pref_terms_of_service</string>
-
-    <string name="star_sign">\u2605</string>
 </resources>
diff --git a/src/com/android/contacts/common/list/ContactEntryListAdapter.java b/src/com/android/contacts/common/list/ContactEntryListAdapter.java
index 1ac8fd5..0d20d6e 100644
--- a/src/com/android/contacts/common/list/ContactEntryListAdapter.java
+++ b/src/com/android/contacts/common/list/ContactEntryListAdapter.java
@@ -370,7 +370,7 @@
     public void setFavoritesSectionHeader(int numberOfFavorites) {
         if (mIncludeFavorites) {
             mNumberOfFavorites = numberOfFavorites;
-            setSectionHeader(R.string.star_sign, numberOfFavorites);
+            setSectionHeader(numberOfFavorites);
         }
     }
 
@@ -378,11 +378,10 @@
         return mNumberOfFavorites;
     }
 
-    private void setSectionHeader(int resId, int numberOfItems) {
+    private void setSectionHeader(int numberOfItems) {
         SectionIndexer indexer = getIndexer();
         if (indexer != null) {
-            ((ContactsSectionIndexer) indexer).setProfileAndFavoritesHeader(
-                    getContext().getString(resId), numberOfItems);
+            ((ContactsSectionIndexer) indexer).setFavoritesHeader(numberOfItems);
         }
     }
 
diff --git a/src/com/android/contacts/common/list/ContactListItemView.java b/src/com/android/contacts/common/list/ContactListItemView.java
index 1dc99ef..67f6d35 100644
--- a/src/com/android/contacts/common/list/ContactListItemView.java
+++ b/src/com/android/contacts/common/list/ContactListItemView.java
@@ -979,8 +979,9 @@
      * Sets section header or makes it invisible if the title is null.
      */
     public void setSectionHeader(String title) {
-        if (!TextUtils.isEmpty(title)) {
-            if (TextUtils.equals(getContext().getString(R.string.star_sign), title)) {
+        if (title != null) {
+            // Empty section title is the favorites so show the star here.
+            if (title.isEmpty()) {
                 if (mHeaderView == null) {
                     addStarImageHeader();
                 } else if (mHeaderView instanceof TextView) {
diff --git a/src/com/android/contacts/common/list/ContactListPinnedHeaderView.java b/src/com/android/contacts/common/list/ContactListPinnedHeaderView.java
index 6e8e738..c208bef 100644
--- a/src/com/android/contacts/common/list/ContactListPinnedHeaderView.java
+++ b/src/com/android/contacts/common/list/ContactListPinnedHeaderView.java
@@ -19,16 +19,13 @@
 import android.content.Context;
 import android.content.res.TypedArray;
 import android.graphics.Color;
-import android.text.TextUtils;
 import android.util.AttributeSet;
 import android.view.Gravity;
 import android.view.View;
-import android.view.ViewParent;
 import android.widget.LinearLayout.LayoutParams;
 import android.widget.TextView;
 
 import com.android.contacts.common.R;
-import com.android.contacts.common.util.ViewUtil;
 
 /**
  * A custom view for the pinned section header shown at the top of the contact list.
@@ -72,7 +69,7 @@
      * Sets section header or makes it invisible if the title is null.
      */
     public void setSectionHeaderTitle(String title) {
-        if (!TextUtils.isEmpty(title)) {
+        if (title != null) {
             setText(title);
             setVisibility(View.VISIBLE);
         } else {
diff --git a/src/com/android/contacts/common/list/ContactsSectionIndexer.java b/src/com/android/contacts/common/list/ContactsSectionIndexer.java
index db64010..031380d 100644
--- a/src/com/android/contacts/common/list/ContactsSectionIndexer.java
+++ b/src/com/android/contacts/common/list/ContactsSectionIndexer.java
@@ -55,6 +55,7 @@
         mPositions = new int[counts.length];
         int position = 0;
         for (int i = 0; i < counts.length; i++) {
+            // Enforce that there will be no null or empty sections.
             if (TextUtils.isEmpty(mSections[i])) {
                 mSections[i] = BLANK_HEADER_STRING;
             } else if (!mSections[i].equals(BLANK_HEADER_STRING)) {
@@ -101,10 +102,10 @@
         return index >= 0 ? index : -index - 2;
     }
 
-    public void setProfileAndFavoritesHeader(String header, int numberOfItemsToAdd) {
+    public void setFavoritesHeader(int numberOfItemsToAdd) {
         if (mSections != null) {
             // Don't do anything if the header is already set properly.
-            if (mSections.length > 0 && header.equals(mSections[0])) {
+            if (mSections.length > 0 && mSections[0].isEmpty()) {
                 return;
             }
 
@@ -112,7 +113,8 @@
             // special section at the top for it and shift everything else down.
             String[] tempSections = new String[mSections.length + 1];
             int[] tempPositions = new int[mPositions.length + 1];
-            tempSections[0] = header;
+            // Favorites section is empty to hide fast scroll preview.
+            tempSections[0] = "";
             tempPositions[0] = 0;
             for (int i = 1; i <= mPositions.length; i++) {
                 tempSections[i] = mSections[i - 1];
diff --git a/src/com/android/contacts/common/list/PinnedHeaderListView.java b/src/com/android/contacts/common/list/PinnedHeaderListView.java
index 45ce4b3..b68ff1f 100644
--- a/src/com/android/contacts/common/list/PinnedHeaderListView.java
+++ b/src/com/android/contacts/common/list/PinnedHeaderListView.java
@@ -19,7 +19,6 @@
 import android.content.Context;
 import android.graphics.Canvas;
 import android.graphics.RectF;
-import android.text.TextUtils;
 import android.util.AttributeSet;
 import android.view.MotionEvent;
 import android.view.View;
@@ -31,7 +30,6 @@
 import android.widget.ListAdapter;
 import android.widget.TextView;
 
-import com.android.contacts.common.R;
 import com.android.contacts.common.util.ViewUtil;
 
 /**
@@ -318,8 +316,7 @@
         // Hide header when it's a star.
         // TODO: try showing the view even when it's a star;
         // if we have to hide the star view, then try hiding it in some higher layer.
-        header.visible = !TextUtils.equals(
-                ((TextView) header.view).getText(), getContext().getString(R.string.star_sign));
+        header.visible = !((TextView) header.view).getText().toString().isEmpty();
         header.state = FADING;
         header.alpha = MAX_ALPHA;
         header.animating = false;