New assets and layout in the contact filter pulldown

Change-Id: I549eccac6f6fe4e28a4a26a5a2433b3562dd8c91
diff --git a/res/drawable-hdpi/ic_contact_list_filter_all.png b/res/drawable-hdpi/ic_contact_list_filter_all.png
deleted file mode 100644
index 67981a9..0000000
--- a/res/drawable-hdpi/ic_contact_list_filter_all.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_contact_list_filter_custom.png b/res/drawable-hdpi/ic_contact_list_filter_custom.png
deleted file mode 100644
index 3f48be3..0000000
--- a/res/drawable-hdpi/ic_contact_list_filter_custom.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_contact_list_filter_starred.png b/res/drawable-hdpi/ic_contact_list_filter_starred.png
deleted file mode 100644
index 4213050..0000000
--- a/res/drawable-hdpi/ic_contact_list_filter_starred.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_contacts_holo_light.png b/res/drawable-hdpi/ic_menu_contacts_holo_light.png
new file mode 100644
index 0000000..ee09bf1
--- /dev/null
+++ b/res/drawable-hdpi/ic_menu_contacts_holo_light.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_display_all_holo_light.png b/res/drawable-hdpi/ic_menu_display_all_holo_light.png
new file mode 100644
index 0000000..593cc47
--- /dev/null
+++ b/res/drawable-hdpi/ic_menu_display_all_holo_light.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_settings_holo_light.png b/res/drawable-hdpi/ic_menu_settings_holo_light.png
index 1146a1e..c575cf0 100644
--- a/res/drawable-hdpi/ic_menu_settings_holo_light.png
+++ b/res/drawable-hdpi/ic_menu_settings_holo_light.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_star_holo_light.png b/res/drawable-hdpi/ic_menu_star_holo_light.png
new file mode 100644
index 0000000..be467a3
--- /dev/null
+++ b/res/drawable-hdpi/ic_menu_star_holo_light.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_contact_list_filter_all.png b/res/drawable-mdpi/ic_contact_list_filter_all.png
deleted file mode 100644
index 67981a9..0000000
--- a/res/drawable-mdpi/ic_contact_list_filter_all.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_contact_list_filter_custom.png b/res/drawable-mdpi/ic_contact_list_filter_custom.png
deleted file mode 100644
index 3f48be3..0000000
--- a/res/drawable-mdpi/ic_contact_list_filter_custom.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_contact_list_filter_starred.png b/res/drawable-mdpi/ic_contact_list_filter_starred.png
deleted file mode 100755
index a9bdb05..0000000
--- a/res/drawable-mdpi/ic_contact_list_filter_starred.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_contacts_holo_light.png b/res/drawable-mdpi/ic_menu_contacts_holo_light.png
new file mode 100644
index 0000000..b3f5ae0
--- /dev/null
+++ b/res/drawable-mdpi/ic_menu_contacts_holo_light.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_display_all_holo_light.png b/res/drawable-mdpi/ic_menu_display_all_holo_light.png
new file mode 100644
index 0000000..46196a3
--- /dev/null
+++ b/res/drawable-mdpi/ic_menu_display_all_holo_light.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_settings_holo_light.png b/res/drawable-mdpi/ic_menu_settings_holo_light.png
index 698b9167..532fb2b 100644
--- a/res/drawable-mdpi/ic_menu_settings_holo_light.png
+++ b/res/drawable-mdpi/ic_menu_settings_holo_light.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_star_holo_light.png b/res/drawable-mdpi/ic_menu_star_holo_light.png
new file mode 100644
index 0000000..d9417ee
--- /dev/null
+++ b/res/drawable-mdpi/ic_menu_star_holo_light.png
Binary files differ
diff --git a/res/layout/filter_spinner_item.xml b/res/layout/filter_spinner_item.xml
index 9a3ca98..c2d5d68 100644
--- a/res/layout/filter_spinner_item.xml
+++ b/res/layout/filter_spinner_item.xml
@@ -25,6 +25,11 @@
     android:paddingBottom="2dip"
     android:gravity="left">
 
+    <View
+        android:id="@+id/indent"
+        android:layout_width="40dip"
+        android:layout_height="fill_parent" />
+
     <ImageView
         android:id="@+id/icon"
         android:scaleType="fitCenter"
@@ -41,14 +46,5 @@
         android:textAppearance="?android:attr/textAppearanceMedium"
         android:gravity="center_vertical"
         android:ellipsize="end" />
-
-    <TextView
-        android:id="@+id/indented_label"
-        android:layout_width="wrap_content"
-        android:layout_height="fill_parent"
-        android:textAppearance="?android:attr/textAppearanceMedium"
-        android:gravity="center_vertical"
-        android:ellipsize="end"
-        android:paddingLeft="40dip" />
 </view>
 
diff --git a/res/layout/navigation_bar.xml b/res/layout/navigation_bar.xml
index 4f7fb62..74d0d09 100644
--- a/res/layout/navigation_bar.xml
+++ b/res/layout/navigation_bar.xml
@@ -45,7 +45,17 @@
                 class="com.android.contacts.list.ContactListFilterView"
                 android:id="@+id/filter_view"
                 android:layout_height="match_parent"
-                android:layout_width="wrap_content">
+                android:layout_width="wrap_content"
+                android:layout_marginLeft="20dip">
+                <ImageView
+                    android:id="@+id/icon"
+                    android:scaleType="fitCenter"
+                    android:layout_width="24dip"
+                    android:layout_height="24dip"
+                    android:layout_marginLeft="8dip"
+                    android:layout_marginRight="7dip"
+                    android:layout_gravity="center_vertical" />
+
                 <FrameLayout
                     android:layout_height="match_parent"
                     android:layout_width="wrap_content">
diff --git a/src/com/android/contacts/activities/ActionBarAdapter.java b/src/com/android/contacts/activities/ActionBarAdapter.java
index 1132d92..778bec6 100644
--- a/src/com/android/contacts/activities/ActionBarAdapter.java
+++ b/src/com/android/contacts/activities/ActionBarAdapter.java
@@ -174,6 +174,7 @@
                 mFilterController.setEnabled(true);
                 if (mFilterController.isLoaded()) {
                     mFilterView.setContactListFilter(mFilterController.getFilter());
+                    mFilterView.setMultipleAccounts(mFilterController.getAccountCount() > 1);
                     mFilterView.bindView(false);
                     showIndicator = mFilterController.getFilterList().size() > 1;
                 }
diff --git a/src/com/android/contacts/list/ContactListFilterController.java b/src/com/android/contacts/list/ContactListFilterController.java
index d5554ce..0eae79f 100644
--- a/src/com/android/contacts/list/ContactListFilterController.java
+++ b/src/com/android/contacts/list/ContactListFilterController.java
@@ -301,6 +301,10 @@
         notifyContactListFilterChanged();
     }
 
+    public int getAccountCount() {
+        return mAccountCount;
+    }
+
     private ContactListFilter getDefaultFilter() {
         return mFilters.size() > 0 ? mFilters.valueAt(0) : null;
     }
diff --git a/src/com/android/contacts/list/ContactListFilterView.java b/src/com/android/contacts/list/ContactListFilterView.java
index cb9ec06..0a638ae 100644
--- a/src/com/android/contacts/list/ContactListFilterView.java
+++ b/src/com/android/contacts/list/ContactListFilterView.java
@@ -32,7 +32,7 @@
 
     private ImageView mIcon;
     private TextView mLabel;
-    private TextView mIndentedLabel;
+    private View mIndent;
     private View mGroupView;
     private ContactListFilter mFilter;
     private boolean mMultipleAccounts;
@@ -63,7 +63,7 @@
         if (mLabel == null) {
             mIcon = (ImageView) findViewById(R.id.icon);
             mLabel = (TextView) findViewById(R.id.label);
-            mIndentedLabel = (TextView) findViewById(R.id.indented_label);
+            mIndent = findViewById(R.id.indent);
             mGroupView = findViewById(R.id.group);
             mGroupLabel = (TextView) findViewById(R.id.group_label);
             mAccountLabel = (TextView) findViewById(R.id.account_label);
@@ -71,7 +71,6 @@
 
         if (mFilter == null) {
             mLabel.setText(R.string.contactsList);
-            mLabel.setVisibility(View.VISIBLE);
             return;
         }
 
@@ -83,62 +82,54 @@
                 mLabel.setVisibility(View.VISIBLE);
                 mGroupView.setVisibility(View.GONE);
             }
+        } else {
+            mLabel.setVisibility(View.VISIBLE);
         }
 
         switch (mFilter.filterType) {
             case ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS: {
-                bindView(R.drawable.ic_contact_list_filter_all,
-                        R.string.list_filter_all_accounts);
+                bindView(R.drawable.ic_menu_contacts_holo_light, R.string.list_filter_all_accounts,
+                        dropdown);
                 break;
             }
             case ContactListFilter.FILTER_TYPE_STARRED: {
-                bindView(R.drawable.ic_contact_list_filter_starred,
-                        R.string.list_filter_all_starred);
+                bindView(R.drawable.ic_menu_star_holo_light, R.string.list_filter_all_starred,
+                        dropdown);
                 break;
             }
             case ContactListFilter.FILTER_TYPE_CUSTOM: {
-                bindView(R.drawable.ic_contact_list_filter_custom,
-                        dropdown ? R.string.list_filter_customize : R.string.list_filter_custom);
+                bindView(R.drawable.ic_menu_settings_holo_light,
+                        dropdown ? R.string.list_filter_customize : R.string.list_filter_custom,
+                        dropdown);
                 break;
             }
             case ContactListFilter.FILTER_TYPE_WITH_PHONE_NUMBERS_ONLY: {
-                bindView(0, R.string.list_filter_phones);
+                bindView(0, R.string.list_filter_phones, dropdown);
                 break;
             }
             case ContactListFilter.FILTER_TYPE_SINGLE_CONTACT: {
-                bindView(0, R.string.list_filter_single);
+                bindView(0, R.string.list_filter_single, dropdown);
                 break;
             }
             case ContactListFilter.FILTER_TYPE_ACCOUNT: {
-                if (mIcon != null) {
-                    mIcon.setVisibility(View.VISIBLE);
-                    if (mFilter.icon != null) {
-                        mIcon.setImageDrawable(mFilter.icon);
-                    } else {
-                        mIcon.setImageResource(R.drawable.unknown_source);
-                    }
+                mIcon.setVisibility(View.VISIBLE);
+                if (mFilter.icon != null) {
+                    mIcon.setImageDrawable(mFilter.icon);
+                } else {
+                    mIcon.setImageResource(R.drawable.unknown_source);
                 }
                 mLabel.setText(mFilter.accountName);
-                mLabel.setVisibility(View.VISIBLE);
                 if (dropdown) {
-                    mIndentedLabel.setVisibility(View.GONE);
+                    mIndent.setVisibility(View.GONE);
                 }
                 break;
             }
             case ContactListFilter.FILTER_TYPE_GROUP: {
-                if (mIcon != null) {
-                    mIcon.setVisibility(View.INVISIBLE);
-                }
+                mIcon.setVisibility(View.VISIBLE);
+                mIcon.setImageResource(R.drawable.ic_menu_display_all_holo_light);
                 if (dropdown) {
-                    if (mMultipleAccounts) {
-                        mLabel.setVisibility(View.GONE);
-                        mIndentedLabel.setText(mFilter.title);
-                        mIndentedLabel.setVisibility(View.VISIBLE);
-                    } else {
-                        mLabel.setText(mFilter.title);
-                        mLabel.setVisibility(View.VISIBLE);
-                        mIndentedLabel.setVisibility(View.GONE);
-                    }
+                    mLabel.setText(mFilter.title);
+                    mIndent.setVisibility(mMultipleAccounts ? View.VISIBLE : View.GONE);
                 } else {
                     if (mMultipleAccounts) {
                         mGroupLabel.setText(mFilter.title);
@@ -152,21 +143,18 @@
         }
     }
 
-    private void bindView(int iconResource, int textResource) {
-        if (mIcon != null) {
-            if (iconResource != 0) {
-                mIcon.setVisibility(View.VISIBLE);
-                mIcon.setImageResource(iconResource);
-            } else {
-                mIcon.setVisibility(View.INVISIBLE);
-            }
+    private void bindView(int iconResource, int textResource, boolean dropdown) {
+        if (iconResource != 0) {
+            mIcon.setVisibility(View.VISIBLE);
+            mIcon.setImageResource(iconResource);
+        } else {
+            mIcon.setVisibility(dropdown ? View.INVISIBLE : View.GONE);
         }
 
         mLabel.setText(textResource);
-        mLabel.setVisibility(View.VISIBLE);
 
-        if (mIndentedLabel != null) {
-            mIndentedLabel.setVisibility(View.GONE);
+        if (mIndent != null) {
+            mIndent.setVisibility(View.GONE);
         }
     }
 }