Iteration on display groups UI, was neglected for awhile.

Switched to using Accounts metadata provided through
Sources cache.  Also added long-press and menu item to serve
as our "edit sync groups" in the same UI.

Need to iterating to show all accounts regardless of group
existance, and persist DEFAULT_SHOULD_SYNC values.
diff --git a/res/layout-finger/display_group.xml b/res/layout-finger/display_group.xml
index 48ff7f4..7d36450 100644
--- a/res/layout-finger/display_group.xml
+++ b/res/layout-finger/display_group.xml
@@ -20,34 +20,36 @@
     android:minHeight="?android:attr/listPreferredItemHeight"
     android:gravity="center_vertical"
     android:paddingLeft="?android:attr/expandableListPreferredItemPaddingLeft"
-    android:paddingRight="?android:attr/scrollbarSize"
->
+    android:paddingRight="?android:attr/scrollbarSize">
 
-    <TextView
-        android:id="@android:id/text1"
+    <RelativeLayout
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginRight="6dip"
         android:layout_marginTop="6dip"
         android:layout_marginBottom="6dip"
         android:layout_weight="1"
-        android:singleLine="true"
-        android:ellipsize="marquee"
-        android:textAppearance="?android:attr/textAppearanceLarge"
-        android:duplicateParentState="true"
-    />
+        android:duplicateParentState="true">
 
-    <CheckBox
-        android:id="@android:id/checkbox"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginRight="4dip"
-        android:focusable="false"
-        android:clickable="false"
-        android:gravity="center_vertical"
-        android:orientation="vertical"
-        android:visibility="gone"
-        android:duplicateParentState="true"
-    />
+        <TextView
+            android:id="@android:id/text1"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:singleLine="true"
+            android:ellipsize="marquee"
+            android:textAppearance="?android:attr/textAppearanceLarge"
+            android:duplicateParentState="true" />
+
+        <TextView
+            android:id="@android:id/text2"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_below="@android:id/text1"
+            android:layout_alignLeft="@android:id/text1"
+            android:maxLines="2"
+            android:textAppearance="?android:attr/textAppearanceSmall"
+            android:duplicateParentState="true" />
+
+    </RelativeLayout>
 
 </LinearLayout>
diff --git a/res/layout-finger/display_header.xml b/res/layout-finger/display_header.xml
index a55c5d0..421d421 100644
--- a/res/layout-finger/display_header.xml
+++ b/res/layout-finger/display_header.xml
@@ -53,7 +53,7 @@
 
     </RelativeLayout>
 
-    <CheckBox
+    <RadioButton
         android:id="@android:id/checkbox"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
@@ -61,7 +61,6 @@
         android:focusable="false"
         android:clickable="false"
         android:gravity="center_vertical"
-        android:orientation="vertical"
-    />
+        android:orientation="vertical" />
 
 </LinearLayout>
diff --git a/res/menu/display_groups.xml b/res/menu/display_groups.xml
new file mode 100644
index 0000000..3d1a6b0
--- /dev/null
+++ b/res/menu/display_groups.xml
@@ -0,0 +1,23 @@
+<?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.
+-->
+
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+    <item
+        android:id="@+id/menu_add"
+        android:icon="@android:drawable/ic_menu_add"
+        android:title="@string/menu_sync_add" />
+
+</menu>
diff --git a/res/values/ids.xml b/res/values/ids.xml
index dbf9b65..48981e0 100644
--- a/res/values/ids.xml
+++ b/res/values/ids.xml
@@ -27,4 +27,6 @@
     <item type="id" name="dialog_label" />
     <item type="id" name="dialog_label_custom" />
 
+    <item type="id" name="dialog_sync_add" />
+
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index d845e09..2278761 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -864,6 +864,16 @@
     <string name="dialog_primary_name">Primary name</string>
     <string name="dialog_new_contact_account">Create contact under account</string>
 
+    <string name="menu_sync_remove">Remove sync group</string>
+    <string name="menu_sync_add">Add sync group</string>
+
+    <!-- List title for a special contacts group that covers all contacts that
+         aren't members of any other group.  -->
+    <string name="display_ungrouped">(Ungrouped contacts)</string>
+
+    <!-- Warning message given to users just before they remove a currently syncing
+         group that would also cause all ungrouped contacts to stop syncing. -->
+    <string name="display_warn_remove_ungrouped">Removing '%s' from sync will also remove any ungrouped contacts from sync.</string>
 
 
 <string name="call_home">Call home</string>