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>