summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/values/strings.xml18
-rw-r--r--res/xml/preference_display_options.xml27
-rw-r--r--res/xml/preference_headers.xml2
-rw-r--r--src/com/android/contacts/GroupMemberLoader.java2
-rw-r--r--src/com/android/contacts/activities/PeopleActivity.java2
-rw-r--r--src/com/android/contacts/detail/ContactDetailDisplayUtils.java3
-rw-r--r--src/com/android/contacts/list/EmailAddressListAdapter.java5
-rw-r--r--src/com/android/contacts/list/JoinContactListAdapter.java3
-rw-r--r--src/com/android/contacts/list/PostalAddressListAdapter.java5
-rw-r--r--src/com/android/contacts/preference/DisplayOptionsPreferenceFragment.java37
-rw-r--r--src/com/android/contacts/preference/DisplayOrderPreference.java92
-rw-r--r--src/com/android/contacts/preference/SortOrderPreference.java92
-rw-r--r--tests/src/com/android/contacts/activities/PeopleActivityTest.java18
13 files changed, 13 insertions, 293 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 085cacf33..0683190a6 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -370,24 +370,6 @@
<!-- Text used to explain that a group cannot be edited since the data is read only [CHAR LIMIT=40] -->
<string name="group_read_only">Not editable on this device.</string>
- <!-- Label of the "sort list by" display option -->
- <string name="display_options_sort_list_by">Sort list by</string>
-
- <!-- An allowable value for the "sort list by" contact display option -->
- <string name="display_options_sort_by_given_name">Given name</string>
-
- <!-- An allowable value for the "sort list by" contact display option -->
- <string name="display_options_sort_by_family_name">Family name</string>
-
- <!-- Label of the "view names as" display option [CHAR LIMIT=64]-->
- <string name="display_options_view_names_as">View contact names</string>
-
- <!-- An allowable value for the "view names as" contact display option -->
- <string name="display_options_view_given_name_first">Given name first</string>
-
- <!-- An allowable value for the "view names as" contact display option -->
- <string name="display_options_view_family_name_first">Family name first</string>
-
<!-- An option in the 'Contact photo' dialog, if there is no photo yet [CHAR LIMIT=50] -->
<string name="take_photo">Take photo</string>
diff --git a/res/xml/preference_display_options.xml b/res/xml/preference_display_options.xml
deleted file mode 100644
index 4ec31b219..000000000
--- a/res/xml/preference_display_options.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?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.
--->
-
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
- <com.android.contacts.preference.SortOrderPreference
- android:key="sortOrder"
- android:title="@string/display_options_sort_list_by"
- android:dialogTitle="@string/display_options_sort_list_by" />
-
- <com.android.contacts.preference.DisplayOrderPreference
- android:key="displayOrder"
- android:title="@string/display_options_view_names_as"
- android:dialogTitle="@string/display_options_view_names_as" />
-</PreferenceScreen>
diff --git a/res/xml/preference_headers.xml b/res/xml/preference_headers.xml
index ed709fcc1..98019fdc5 100644
--- a/res/xml/preference_headers.xml
+++ b/res/xml/preference_headers.xml
@@ -18,7 +18,7 @@
xmlns:android="http://schemas.android.com/apk/res/android">
<header
- android:fragment="com.android.contacts.preference.DisplayOptionsPreferenceFragment"
+ android:fragment="com.android.contacts.common.preference.DisplayOptionsPreferenceFragment"
android:title="@string/preference_displayOptions" />
</preference-headers>
diff --git a/src/com/android/contacts/GroupMemberLoader.java b/src/com/android/contacts/GroupMemberLoader.java
index e52ddda8e..6001f2c77 100644
--- a/src/com/android/contacts/GroupMemberLoader.java
+++ b/src/com/android/contacts/GroupMemberLoader.java
@@ -95,7 +95,7 @@ public final class GroupMemberLoader extends CursorLoader {
setSelectionArgs(createSelectionArgs());
ContactsPreferences prefs = new ContactsPreferences(context);
- if (prefs.getSortOrder() == ContactsContract.Preferences.SORT_ORDER_PRIMARY) {
+ if (prefs.getSortOrder() == ContactsPreferences.SORT_ORDER_PRIMARY) {
setSortOrder(Contacts.SORT_KEY_PRIMARY);
} else {
setSortOrder(Contacts.SORT_KEY_ALTERNATIVE);
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index ed1395008..5759350e4 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -62,12 +62,12 @@ import com.android.contacts.list.ContactsRequest;
import com.android.contacts.list.ContactsUnavailableFragment;
import com.android.contacts.list.DefaultContactBrowseListFragment;
import com.android.contacts.common.list.DirectoryListLoader;
+import com.android.contacts.common.preference.DisplayOptionsPreferenceFragment;
import com.android.contacts.list.OnContactBrowserActionListener;
import com.android.contacts.list.OnContactsUnavailableActionListener;
import com.android.contacts.list.ProviderStatusWatcher;
import com.android.contacts.list.ProviderStatusWatcher.ProviderStatusListener;
import com.android.contacts.preference.ContactsPreferenceActivity;
-import com.android.contacts.preference.DisplayOptionsPreferenceFragment;
import com.android.contacts.common.util.AccountFilterUtil;
import com.android.contacts.common.util.ViewUtil;
import com.android.contacts.quickcontact.QuickContactActivity;
diff --git a/src/com/android/contacts/detail/ContactDetailDisplayUtils.java b/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
index 67d14e2d3..2684af7a2 100644
--- a/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
+++ b/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
@@ -34,7 +34,6 @@ import android.content.res.Resources.NotFoundException;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.provider.ContactsContract.DisplayNameSources;
-import android.provider.ContactsContract.Preferences;
import android.text.Html;
import android.text.TextUtils;
import android.util.Log;
@@ -61,7 +60,7 @@ public class ContactDetailDisplayUtils {
public static CharSequence getDisplayName(Context context, Contact contactData) {
ContactsPreferences prefs = new ContactsPreferences(context);
final CharSequence displayName = contactData.getDisplayName();
- if (prefs.getDisplayOrder() == Preferences.DISPLAY_ORDER_PRIMARY) {
+ if (prefs.getDisplayOrder() == ContactsPreferences.DISPLAY_ORDER_PRIMARY) {
if (!TextUtils.isEmpty(displayName)) {
return displayName;
}
diff --git a/src/com/android/contacts/list/EmailAddressListAdapter.java b/src/com/android/contacts/list/EmailAddressListAdapter.java
index 9d5ae7ac5..53963647a 100644
--- a/src/com/android/contacts/list/EmailAddressListAdapter.java
+++ b/src/com/android/contacts/list/EmailAddressListAdapter.java
@@ -32,6 +32,7 @@ import android.view.ViewGroup;
import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest;
import com.android.contacts.common.list.ContactEntryListAdapter;
import com.android.contacts.common.list.ContactListItemView;
+import com.android.contacts.common.preference.ContactsPreferences;
/**
* A cursor adapter for the {@link Email#CONTENT_TYPE} content type.
@@ -94,13 +95,13 @@ public class EmailAddressListAdapter extends ContactEntryListAdapter {
builder.appendQueryParameter(ContactsContract.REMOVE_DUPLICATE_ENTRIES, "true");
loader.setUri(builder.build());
- if (getContactNameDisplayOrder() == ContactsContract.Preferences.DISPLAY_ORDER_PRIMARY) {
+ if (getContactNameDisplayOrder() == ContactsPreferences.DISPLAY_ORDER_PRIMARY) {
loader.setProjection(EmailQuery.PROJECTION_PRIMARY);
} else {
loader.setProjection(EmailQuery.PROJECTION_ALTERNATIVE);
}
- if (getSortOrder() == ContactsContract.Preferences.SORT_ORDER_PRIMARY) {
+ if (getSortOrder() == ContactsPreferences.SORT_ORDER_PRIMARY) {
loader.setSortOrder(Email.SORT_KEY_PRIMARY);
} else {
loader.setSortOrder(Email.SORT_KEY_ALTERNATIVE);
diff --git a/src/com/android/contacts/list/JoinContactListAdapter.java b/src/com/android/contacts/list/JoinContactListAdapter.java
index 597a7c388..a9c9c94b3 100644
--- a/src/com/android/contacts/list/JoinContactListAdapter.java
+++ b/src/com/android/contacts/list/JoinContactListAdapter.java
@@ -34,6 +34,7 @@ import com.android.contacts.R;
import com.android.contacts.common.list.ContactListAdapter;
import com.android.contacts.common.list.ContactListItemView;
import com.android.contacts.common.list.DirectoryListLoader;
+import com.android.contacts.common.preference.ContactsPreferences;
public class JoinContactListAdapter extends ContactListAdapter {
@@ -101,7 +102,7 @@ public class JoinContactListAdapter extends ContactListAdapter {
loader.setUri(allContactsUri);
loader.setSelection(Contacts._ID + "!=?");
loader.setSelectionArgs(new String[]{ String.valueOf(mTargetContactId) });
- if (getSortOrder() == ContactsContract.Preferences.SORT_ORDER_PRIMARY) {
+ if (getSortOrder() == ContactsPreferences.SORT_ORDER_PRIMARY) {
loader.setSortOrder(Contacts.SORT_KEY_PRIMARY);
} else {
loader.setSortOrder(Contacts.SORT_KEY_ALTERNATIVE);
diff --git a/src/com/android/contacts/list/PostalAddressListAdapter.java b/src/com/android/contacts/list/PostalAddressListAdapter.java
index d011430aa..35fccfe82 100644
--- a/src/com/android/contacts/list/PostalAddressListAdapter.java
+++ b/src/com/android/contacts/list/PostalAddressListAdapter.java
@@ -31,6 +31,7 @@ import android.view.ViewGroup;
import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest;
import com.android.contacts.common.list.ContactEntryListAdapter;
import com.android.contacts.common.list.ContactListItemView;
+import com.android.contacts.common.preference.ContactsPreferences;
/**
* A cursor adapter for the {@link StructuredPostal#CONTENT_TYPE} content type.
@@ -84,13 +85,13 @@ public class PostalAddressListAdapter extends ContactEntryListAdapter {
}
loader.setUri(builder.build());
- if (getContactNameDisplayOrder() == ContactsContract.Preferences.DISPLAY_ORDER_PRIMARY) {
+ if (getContactNameDisplayOrder() == ContactsPreferences.DISPLAY_ORDER_PRIMARY) {
loader.setProjection(PostalQuery.PROJECTION_PRIMARY);
} else {
loader.setProjection(PostalQuery.PROJECTION_ALTERNATIVE);
}
- if (getSortOrder() == ContactsContract.Preferences.SORT_ORDER_PRIMARY) {
+ if (getSortOrder() == ContactsPreferences.SORT_ORDER_PRIMARY) {
loader.setSortOrder(StructuredPostal.SORT_KEY_PRIMARY);
} else {
loader.setSortOrder(StructuredPostal.SORT_KEY_ALTERNATIVE);
diff --git a/src/com/android/contacts/preference/DisplayOptionsPreferenceFragment.java b/src/com/android/contacts/preference/DisplayOptionsPreferenceFragment.java
deleted file mode 100644
index 02177d2e3..000000000
--- a/src/com/android/contacts/preference/DisplayOptionsPreferenceFragment.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.contacts.preference;
-
-import android.os.Bundle;
-import android.preference.PreferenceFragment;
-
-import com.android.contacts.R;
-
-/**
- * This fragment shows the preferences for the first header.
- */
-public class DisplayOptionsPreferenceFragment extends PreferenceFragment {
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- // Load the preferences from an XML resource
- addPreferencesFromResource(R.xml.preference_display_options);
- }
-}
-
diff --git a/src/com/android/contacts/preference/DisplayOrderPreference.java b/src/com/android/contacts/preference/DisplayOrderPreference.java
deleted file mode 100644
index 81489a028..000000000
--- a/src/com/android/contacts/preference/DisplayOrderPreference.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.contacts.preference;
-
-import android.app.AlertDialog.Builder;
-import android.content.Context;
-import android.preference.ListPreference;
-import android.provider.ContactsContract;
-import android.util.AttributeSet;
-
-import com.android.contacts.R;
-import com.android.contacts.common.preference.ContactsPreferences;
-
-/**
- * Custom preference: view-name-as (first name first or last name first).
- */
-public final class DisplayOrderPreference extends ListPreference {
-
- private ContactsPreferences mPreferences;
- private Context mContext;
-
- public DisplayOrderPreference(Context context) {
- super(context);
- prepare();
- }
-
- public DisplayOrderPreference(Context context, AttributeSet attrs) {
- super(context, attrs);
- prepare();
- }
-
- private void prepare() {
- mContext = getContext();
- mPreferences = new ContactsPreferences(mContext);
- setEntries(new String[]{
- mContext.getString(R.string.display_options_view_given_name_first),
- mContext.getString(R.string.display_options_view_family_name_first),
- });
- setEntryValues(new String[]{
- String.valueOf(ContactsContract.Preferences.DISPLAY_ORDER_PRIMARY),
- String.valueOf(ContactsContract.Preferences.DISPLAY_ORDER_ALTERNATIVE),
- });
- setValue(String.valueOf(mPreferences.getDisplayOrder()));
- }
-
- @Override
- protected boolean shouldPersist() {
- return false; // This preference takes care of its own storage
- }
-
- @Override
- public CharSequence getSummary() {
- switch (mPreferences.getDisplayOrder()) {
- case ContactsContract.Preferences.DISPLAY_ORDER_PRIMARY:
- return mContext.getString(R.string.display_options_view_given_name_first);
- case ContactsContract.Preferences.DISPLAY_ORDER_ALTERNATIVE:
- return mContext.getString(R.string.display_options_view_family_name_first);
- }
- return null;
- }
-
- @Override
- protected boolean persistString(String value) {
- int newValue = Integer.parseInt(value);
- if (newValue != mPreferences.getDisplayOrder()) {
- mPreferences.setDisplayOrder(newValue);
- notifyChanged();
- }
- return true;
- }
-
- @Override
- // UX recommendation is not to show cancel button on such lists.
- protected void onPrepareDialogBuilder(Builder builder) {
- super.onPrepareDialogBuilder(builder);
- builder.setNegativeButton(null, null);
- }
-}
diff --git a/src/com/android/contacts/preference/SortOrderPreference.java b/src/com/android/contacts/preference/SortOrderPreference.java
deleted file mode 100644
index da51eed71..000000000
--- a/src/com/android/contacts/preference/SortOrderPreference.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.contacts.preference;
-
-import android.app.AlertDialog.Builder;
-import android.content.Context;
-import android.preference.ListPreference;
-import android.provider.ContactsContract;
-import android.util.AttributeSet;
-
-import com.android.contacts.R;
-import com.android.contacts.common.preference.ContactsPreferences;
-
-/**
- * Custom preference: sort-by.
- */
-public final class SortOrderPreference extends ListPreference {
-
- private ContactsPreferences mPreferences;
- private Context mContext;
-
- public SortOrderPreference(Context context) {
- super(context);
- prepare();
- }
-
- public SortOrderPreference(Context context, AttributeSet attrs) {
- super(context, attrs);
- prepare();
- }
-
- private void prepare() {
- mContext = getContext();
- mPreferences = new ContactsPreferences(mContext);
- setEntries(new String[]{
- mContext.getString(R.string.display_options_sort_by_given_name),
- mContext.getString(R.string.display_options_sort_by_family_name),
- });
- setEntryValues(new String[]{
- String.valueOf(ContactsContract.Preferences.SORT_ORDER_PRIMARY),
- String.valueOf(ContactsContract.Preferences.SORT_ORDER_ALTERNATIVE),
- });
- setValue(String.valueOf(mPreferences.getSortOrder()));
- }
-
- @Override
- protected boolean shouldPersist() {
- return false; // This preference takes care of its own storage
- }
-
- @Override
- public CharSequence getSummary() {
- switch (mPreferences.getSortOrder()) {
- case ContactsContract.Preferences.SORT_ORDER_PRIMARY:
- return mContext.getString(R.string.display_options_sort_by_given_name);
- case ContactsContract.Preferences.SORT_ORDER_ALTERNATIVE:
- return mContext.getString(R.string.display_options_sort_by_family_name);
- }
- return null;
- }
-
- @Override
- protected boolean persistString(String value) {
- int newValue = Integer.parseInt(value);
- if (newValue != mPreferences.getSortOrder()) {
- mPreferences.setSortOrder(newValue);
- notifyChanged();
- }
- return true;
- }
-
- @Override
- // UX recommendation is not to show cancel button on such lists.
- protected void onPrepareDialogBuilder(Builder builder) {
- super.onPrepareDialogBuilder(builder);
- builder.setNegativeButton(null, null);
- }
-}
diff --git a/tests/src/com/android/contacts/activities/PeopleActivityTest.java b/tests/src/com/android/contacts/activities/PeopleActivityTest.java
index 4b9c2812e..88585c56d 100644
--- a/tests/src/com/android/contacts/activities/PeopleActivityTest.java
+++ b/tests/src/com/android/contacts/activities/PeopleActivityTest.java
@@ -47,6 +47,7 @@ import com.android.contacts.common.model.AccountTypeManager;
import com.android.contacts.common.model.account.AccountType;
import com.android.contacts.common.model.account.AccountWithDataSet;
import com.android.contacts.common.model.account.BaseAccountType;
+import com.android.contacts.common.preference.ContactsPreferences;
import com.android.contacts.common.test.mocks.MockAccountTypeManager;
import com.android.contacts.common.test.mocks.MockContactPhotoManager;
import com.android.contacts.common.test.mocks.MockSharedPreferences;
@@ -121,23 +122,6 @@ public class PeopleActivityTest
super.tearDown();
}
- private void expectSettingsQueriesAndReturnDefault() {
- mSettingsProvider
- .expectQuery(Settings.System.CONTENT_URI)
- .withProjection(Settings.System.VALUE)
- .withSelection(Settings.System.NAME + "=?",
- ContactsContract.Preferences.DISPLAY_ORDER)
- .returnRow(ContactsContract.Preferences.DISPLAY_ORDER_PRIMARY)
- .anyNumberOfTimes();
- mSettingsProvider
- .expectQuery(Settings.System.CONTENT_URI)
- .withProjection(Settings.System.VALUE)
- .withSelection(Settings.System.NAME + "=?",
- ContactsContract.Preferences.SORT_ORDER)
- .returnRow(ContactsContract.Preferences.SORT_ORDER_PRIMARY)
- .anyNumberOfTimes();
- }
-
private void expectProviderStatusQueryAndReturnNormal() {
mContactsProvider
.expectQuery(ProviderStatus.CONTENT_URI)