Minor UI tweaks in contacts preferences UI.

Change-Id: I28f2d3bf49e20a80c493c79dbcee906793f9f4f0
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 0c59b5d..b54d417 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -249,7 +249,7 @@
 
 
         <!-- Used to select display and sync groups -->
-        <activity android:name=".ui.DisplayGroupsActivity" android:label="@string/displayGroups" />
+        <activity android:name=".ui.ContactsPreferencesActivity" android:label="@string/displayGroups" />
 
         <activity
             android:name=".ui.ShowOrCreateActivity"
diff --git a/res/layout-finger/horizontal_divider.xml b/res/layout-finger/horizontal_divider.xml
new file mode 100644
index 0000000..202e663
--- /dev/null
+++ b/res/layout-finger/horizontal_divider.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 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.
+-->
+
+<View xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="@*android:drawable/divider_horizontal_dark_opaque"
+/>
diff --git a/res/layout/act_display_groups.xml b/res/layout/contacts_preferences.xml
similarity index 100%
rename from res/layout/act_display_groups.xml
rename to res/layout/contacts_preferences.xml
diff --git a/src/com/android/contacts/ContactsListActivity.java b/src/com/android/contacts/ContactsListActivity.java
index 756ab97..40e048f 100644
--- a/src/com/android/contacts/ContactsListActivity.java
+++ b/src/com/android/contacts/ContactsListActivity.java
@@ -20,8 +20,8 @@
 import com.android.contacts.model.ContactsSource;
 import com.android.contacts.model.Sources;
 import com.android.contacts.ui.ContactsPreferences;
-import com.android.contacts.ui.DisplayGroupsActivity;
-import com.android.contacts.ui.DisplayGroupsActivity.Prefs;
+import com.android.contacts.ui.ContactsPreferencesActivity;
+import com.android.contacts.ui.ContactsPreferencesActivity.Prefs;
 import com.android.contacts.util.AccountSelectionUtil;
 import com.android.contacts.util.Constants;
 
@@ -930,7 +930,7 @@
     public boolean onOptionsItemSelected(MenuItem item) {
         switch (item.getItemId()) {
             case R.id.menu_display_groups: {
-                final Intent intent = new Intent(this, DisplayGroupsActivity.class);
+                final Intent intent = new Intent(this, ContactsPreferencesActivity.class);
                 startActivityForResult(intent, SUBACTIVITY_DISPLAY_GROUP);
                 return true;
             }
diff --git a/src/com/android/contacts/ui/DisplayGroupsActivity.java b/src/com/android/contacts/ui/ContactsPreferencesActivity.java
similarity index 95%
rename from src/com/android/contacts/ui/DisplayGroupsActivity.java
rename to src/com/android/contacts/ui/ContactsPreferencesActivity.java
index 39c46b9..aa6aa14 100644
--- a/src/com/android/contacts/ui/DisplayGroupsActivity.java
+++ b/src/com/android/contacts/ui/ContactsPreferencesActivity.java
@@ -76,7 +76,7 @@
  * Shows a list of all available {@link Groups} available, letting the user
  * select which ones they want to be visible.
  */
-public final class DisplayGroupsActivity extends ExpandableListActivity implements
+public final class ContactsPreferencesActivity extends ExpandableListActivity implements
         AdapterView.OnItemClickListener, View.OnClickListener {
     private static final String TAG = "DisplayGroupsActivity";
 
@@ -111,7 +111,7 @@
     @Override
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);
-        setContentView(R.layout.act_display_groups);
+        setContentView(R.layout.contacts_preferences);
 
         mList = getExpandableListView();
         mPrefs = PreferenceManager.getDefaultSharedPreferences(this);
@@ -119,31 +119,12 @@
 
         final LayoutInflater inflater = getLayoutInflater();
 
-        // Add the "Only contacts with phones" header modifier.
-        mHeaderPhones = inflater.inflate(R.layout.display_options_phones_only, mList, false);
-        mHeaderPhones.setId(R.id.header_phones);
-        mDisplayPhones = (CheckBox) mHeaderPhones.findViewById(android.R.id.checkbox);
-        mDisplayPhones.setChecked(mPrefs.getBoolean(Prefs.DISPLAY_ONLY_PHONES,
-                Prefs.DISPLAY_ONLY_PHONES_DEFAULT));
-        {
-            final TextView text1 = (TextView)mHeaderPhones.findViewById(android.R.id.text1);
-            final TextView text2 = (TextView)mHeaderPhones.findViewById(android.R.id.text2);
-            text1.setText(R.string.showFilterPhones);
-            text2.setText(R.string.showFilterPhonesDescrip);
-        }
-
-        mList.addHeaderView(mHeaderPhones, null, true);
-
-        addSortOrderView();
-        addDisplayOrderView();
-
-        // Add the separator before showing the detailed group list.
-        mHeaderSeparator = inflater.inflate(R.layout.list_separator, mList, false);
-        {
-            final TextView text1 = (TextView)mHeaderSeparator;
-            text1.setText(R.string.headerContactGroups);
-        }
-        mList.addHeaderView(mHeaderSeparator, null, false);
+        addWithPhonesOnlyPreferenceView(inflater);
+        addDivider(inflater);
+        addSortOrderPreferenceView(inflater);
+        addDivider(inflater);
+        addDisplayOrderPreferenceView(inflater);
+        addDisplayGroupHeader(inflater);
 
         findViewById(R.id.btn_done).setOnClickListener(this);
         findViewById(R.id.btn_discard).setOnClickListener(this);
@@ -159,9 +140,27 @@
         new QueryGroupsTask(this).execute();
     }
 
-    private void addSortOrderView() {
-        final LayoutInflater inflater = getLayoutInflater();
+    private LayoutInflater addWithPhonesOnlyPreferenceView(LayoutInflater inflater) {
+        // Add the "Only contacts with phones" header modifier.
+        mHeaderPhones = inflater.inflate(R.layout.display_options_phones_only, mList, false);
+        mHeaderPhones.setId(R.id.header_phones);
+        mDisplayPhones = (CheckBox) mHeaderPhones.findViewById(android.R.id.checkbox);
+        mDisplayPhones.setChecked(mPrefs.getBoolean(Prefs.DISPLAY_ONLY_PHONES,
+                Prefs.DISPLAY_ONLY_PHONES_DEFAULT));
+        {
+            final TextView text1 = (TextView)mHeaderPhones.findViewById(android.R.id.text1);
+            final TextView text2 = (TextView)mHeaderPhones.findViewById(android.R.id.text2);
+            text1.setText(R.string.showFilterPhones);
+            text2.setText(R.string.showFilterPhonesDescrip);
+        }
+
+        mList.addHeaderView(mHeaderPhones, null, true);
+        return inflater;
+    }
+
+    private void addSortOrderPreferenceView(LayoutInflater inflater) {
         mSortOrderView = inflater.inflate(R.layout.preference_with_more_button, mList, false);
+
         View preferenceLayout = mSortOrderView.findViewById(R.id.preference);
         preferenceLayout.setOnClickListener(new View.OnClickListener() {
 
@@ -177,9 +176,7 @@
         mList.addHeaderView(mSortOrderView, null, false);
     }
 
-    private void addDisplayOrderView() {
-        final LayoutInflater inflater = getLayoutInflater();
-
+    private void addDisplayOrderPreferenceView(LayoutInflater inflater) {
         mDisplayOrderView = inflater.inflate(R.layout.preference_with_more_button, mList, false);
         View preferenceLayout = mDisplayOrderView.findViewById(R.id.preference);
         preferenceLayout.setOnClickListener(new View.OnClickListener() {
@@ -196,6 +193,21 @@
         mList.addHeaderView(mDisplayOrderView, null, false);
     }
 
+    private void addDivider(LayoutInflater inflater) {
+        View divider = inflater.inflate(R.layout.horizontal_divider, mList, false);
+        mList.addHeaderView(divider, null, false);
+    }
+
+    private void addDisplayGroupHeader(LayoutInflater inflater) {
+        // Add the separator before showing the detailed group list.
+        mHeaderSeparator = inflater.inflate(R.layout.list_separator, mList, false);
+        {
+            final TextView text1 = (TextView)mHeaderSeparator;
+            text1.setText(R.string.headerContactGroups);
+        }
+        mList.addHeaderView(mHeaderSeparator, null, false);
+    }
+
     @Override
     protected void onResume() {
         super.onResume();
@@ -215,7 +227,7 @@
     }
 
     @Override
-    protected Dialog onCreateDialog(int id) {
+    protected Dialog onCreateDialog(int id, Bundle args) {
         switch (id) {
             case DIALOG_SORT_ORDER:
                 return createSortOrderDialog();
@@ -233,7 +245,7 @@
         };
 
         return new AlertDialog.Builder(this)
-            .setIcon(android.R.drawable.ic_dialog_alert)
+            .setIcon(com.android.internal.R.drawable.ic_dialog_menu_generic)
             .setTitle(R.string.display_options_sort_list_by)
             .setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
                     public void onClick(DialogInterface dialog, int whichButton) {
@@ -257,7 +269,7 @@
         };
 
         return new AlertDialog.Builder(this)
-            .setIcon(android.R.drawable.ic_dialog_alert)
+            .setIcon(com.android.internal.R.drawable.ic_dialog_menu_generic)
             .setTitle(R.string.display_options_view_names_as)
             .setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
                     public void onClick(DialogInterface dialog, int whichButton) {
@@ -275,7 +287,7 @@
     }
 
     @Override
-    protected void onPrepareDialog(int id, Dialog dialog) {
+    protected void onPrepareDialog(int id, Dialog dialog, Bundle args) {
         switch (id) {
             case DIALOG_SORT_ORDER:
                 setCheckedItem(dialog,
@@ -319,13 +331,13 @@
      * {@link Sources#getAccounts(boolean)} that provides groups.
      */
     private static class QueryGroupsTask extends
-            WeakAsyncTask<Void, Void, AccountSet, DisplayGroupsActivity> {
-        public QueryGroupsTask(DisplayGroupsActivity target) {
+            WeakAsyncTask<Void, Void, AccountSet, ContactsPreferencesActivity> {
+        public QueryGroupsTask(ContactsPreferencesActivity target) {
             super(target);
         }
 
         @Override
-        protected AccountSet doInBackground(DisplayGroupsActivity target,
+        protected AccountSet doInBackground(ContactsPreferencesActivity target,
                 Void... params) {
             final Context context = target;
             final Sources sources = Sources.getInstance(context);
@@ -341,7 +353,7 @@
         }
 
         @Override
-        protected void onPostExecute(DisplayGroupsActivity target, AccountSet result) {
+        protected void onPostExecute(ContactsPreferencesActivity target, AccountSet result) {
             // Build adapter to show available groups
             final Context context = target;
             final DisplayAdapter adapter = new DisplayAdapter(context, result);
@@ -503,7 +515,7 @@
     private static Uri addCallerIsSyncAdapterParameter(Uri uri) {
         return uri.buildUpon()
 	        .appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true")
-		.build();
+	        .build();
     }
 
     /**