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();
}
/**