OSDN Git Service

[Issue 2153296] Updating contact list section headers
authorDmitri Plotnikov <dplotnikov@google.com>
Thu, 1 Oct 2009 23:48:00 +0000 (16:48 -0700)
committerDmitri Plotnikov <dplotnikov@google.com>
Fri, 2 Oct 2009 01:43:12 +0000 (18:43 -0700)
Also fixing the menu icon for split

Change-Id: Ic6cffb2760273c89dfa0d60d1ba5307316390b68

16 files changed:
res/drawable-hdpi-finger/divider_dark_opaque.9.png [new file with mode: 0644]
res/drawable-hdpi-finger/divider_vertical_dark.9.png
res/drawable-hdpi-finger/ic_menu_split.png [new file with mode: 0644]
res/drawable-hdpi-finger/infobar_dark.9.png [new file with mode: 0644]
res/drawable-hdpi-finger/section_dark.9.png [new file with mode: 0644]
res/drawable-mdpi-finger/divider_dark_opaque.9.png [new file with mode: 0644]
res/drawable-mdpi-finger/divider_vertical_dark.9.png
res/drawable-mdpi-finger/ic_menu_split.png [new file with mode: 0644]
res/drawable-mdpi-finger/infobar_dark.9.png [new file with mode: 0644]
res/drawable-mdpi-finger/section_dark.9.png [new file with mode: 0644]
res/layout-finger/contacts_list_item.xml
res/layout-finger/contacts_list_item_photo.xml
res/layout-finger/list_section.xml [new file with mode: 0644]
res/layout-finger/total_contacts.xml
res/menu/edit.xml
src/com/android/contacts/ContactsListActivity.java

diff --git a/res/drawable-hdpi-finger/divider_dark_opaque.9.png b/res/drawable-hdpi-finger/divider_dark_opaque.9.png
new file mode 100644 (file)
index 0000000..9444f0d
Binary files /dev/null and b/res/drawable-hdpi-finger/divider_dark_opaque.9.png differ
index 30a68d0..702b878 100644 (file)
Binary files a/res/drawable-hdpi-finger/divider_vertical_dark.9.png and b/res/drawable-hdpi-finger/divider_vertical_dark.9.png differ
diff --git a/res/drawable-hdpi-finger/ic_menu_split.png b/res/drawable-hdpi-finger/ic_menu_split.png
new file mode 100644 (file)
index 0000000..33ef601
Binary files /dev/null and b/res/drawable-hdpi-finger/ic_menu_split.png differ
diff --git a/res/drawable-hdpi-finger/infobar_dark.9.png b/res/drawable-hdpi-finger/infobar_dark.9.png
new file mode 100644 (file)
index 0000000..be0085a
Binary files /dev/null and b/res/drawable-hdpi-finger/infobar_dark.9.png differ
diff --git a/res/drawable-hdpi-finger/section_dark.9.png b/res/drawable-hdpi-finger/section_dark.9.png
new file mode 100644 (file)
index 0000000..5a865fa
Binary files /dev/null and b/res/drawable-hdpi-finger/section_dark.9.png differ
diff --git a/res/drawable-mdpi-finger/divider_dark_opaque.9.png b/res/drawable-mdpi-finger/divider_dark_opaque.9.png
new file mode 100644 (file)
index 0000000..9444f0d
Binary files /dev/null and b/res/drawable-mdpi-finger/divider_dark_opaque.9.png differ
index 30a68d0..702b878 100644 (file)
Binary files a/res/drawable-mdpi-finger/divider_vertical_dark.9.png and b/res/drawable-mdpi-finger/divider_vertical_dark.9.png differ
diff --git a/res/drawable-mdpi-finger/ic_menu_split.png b/res/drawable-mdpi-finger/ic_menu_split.png
new file mode 100644 (file)
index 0000000..9d69e4c
Binary files /dev/null and b/res/drawable-mdpi-finger/ic_menu_split.png differ
diff --git a/res/drawable-mdpi-finger/infobar_dark.9.png b/res/drawable-mdpi-finger/infobar_dark.9.png
new file mode 100644 (file)
index 0000000..a3f3b01
Binary files /dev/null and b/res/drawable-mdpi-finger/infobar_dark.9.png differ
diff --git a/res/drawable-mdpi-finger/section_dark.9.png b/res/drawable-mdpi-finger/section_dark.9.png
new file mode 100644 (file)
index 0000000..dbf6ded
Binary files /dev/null and b/res/drawable-mdpi-finger/section_dark.9.png differ
index 775e163..74f5bdd 100644 (file)
@@ -24,7 +24,7 @@
 >
     <include
         android:id="@+id/header"
-        layout="@layout/list_separator"
+        layout="@layout/list_section"
     />
 
     <RelativeLayout
index f387502..bd3baf8 100644 (file)
@@ -24,7 +24,7 @@
 >
     <include
         android:id="@+id/header"
-        layout="@layout/list_separator"
+        layout="@layout/list_section"
     />
 
     <RelativeLayout
     <View android:id="@+id/list_divider"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
-        android:background="@*android:drawable/divider_horizontal_dark_opaque"
+        android:background="@drawable/divider_dark_opaque"
     />
 </LinearLayout>
diff --git a/res/layout-finger/list_section.xml b/res/layout-finger/list_section.xml
new file mode 100644 (file)
index 0000000..b91d213
--- /dev/null
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 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.
+-->
+
+<!-- Layout used for list section separators. -->
+<RelativeLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="fill_parent"
+    android:layout_height="25dip"
+    android:background="@drawable/section_dark"
+    >
+    <TextView
+        android:id="@+id/header_text"
+        android:layout_width="56dip"
+        android:layout_height="wrap_content"
+        android:layout_centerVertical="true"
+        android:layout_alignParentLeft="true"
+        android:textStyle="bold"
+        android:textColor="#ffbfbfbf"
+        android:textSize="14sp"
+        android:gravity="center"
+    />
+    <View
+        android:layout_width="fill_parent"
+        android:layout_height="1dip"
+        android:layout_alignParentBottom="true"
+        android:background="@drawable/divider_dark_opaque"
+    />
+</RelativeLayout>
index ab15ce1..12badb6 100644 (file)
 <TextView xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/totalContactsText"
     android:layout_width="fill_parent"
-    android:layout_height="wrap_content"
-    style="?android:attr/listSeparatorTextViewStyle"
-    android:textColor="@*android:color/dim_foreground_dark"
-    android:textSize="12sp"
+    android:layout_height="25dip"
+    android:textColor="#ffbfbfbf"
+    android:textSize="14sp"
     android:textStyle="normal"
-    android:background="@drawable/section_dark"
+    android:background="@drawable/infobar_dark"
     android:paddingLeft="7dp"
-    android:gravity="center|center_vertical"
+    android:gravity="center"
 />
\ No newline at end of file
index 5ecc652..6fafbcf 100644 (file)
@@ -39,7 +39,7 @@
 
     <item
         android:id="@+id/menu_split"
-        android:icon="@drawable/ic_menu_merge"
+        android:icon="@drawable/ic_menu_split"
         android:title="@string/menu_splitAggregate" />
 
     <item
index 5d3f619..a0dcd6f 100644 (file)
@@ -1987,7 +1987,8 @@ public class ContactsListActivity extends ListActivity implements
     }
 
     final static class ContactListItemCache {
-        public TextView header;
+        public View header;
+        public TextView headerText;
         public View divider;
         public TextView nameView;
         public View callView;
@@ -2291,7 +2292,8 @@ public class ContactsListActivity extends ListActivity implements
             final View view = super.newView(context, cursor, parent);
 
             final ContactListItemCache cache = new ContactListItemCache();
-            cache.header = (TextView) view.findViewById(R.id.header);
+            cache.header = view.findViewById(R.id.header);
+            cache.headerText = (TextView)view.findViewById(R.id.header_text);
             cache.divider = view.findViewById(R.id.list_divider);
             cache.nameView = (TextView) view.findViewById(R.id.name);
             cache.callView = view.findViewById(R.id.call_view);
@@ -2490,8 +2492,13 @@ public class ContactsListActivity extends ListActivity implements
             } else {
                 final int section = getSectionForPosition(position);
                 if (getPositionForSection(section) == position) {
-                    cache.header.setText(mIndexer.getSections()[section].toString());
-                    cache.header.setVisibility(View.VISIBLE);
+                    String title = mIndexer.getSections()[section].toString().trim();
+                    if (!TextUtils.isEmpty(title)) {
+                        cache.headerText.setText(title);
+                        cache.header.setVisibility(View.VISIBLE);
+                    } else {
+                        cache.header.setVisibility(View.GONE);
+                    }
                 } else {
                     cache.header.setVisibility(View.GONE);
                 }