summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/contactsfragment
diff options
context:
space:
mode:
authortwyen <twyen@google.com>2018-06-25 12:36:26 -0700
committerCopybara-Service <copybara-piper@google.com>2018-06-26 13:42:08 -0700
commit5578d928bf777f721ec0ec04c84ddb7d3ea56edb (patch)
tree150f643cf67aee21a2ac730d3f7b1f6cada7db47 /java/com/android/dialer/contactsfragment
parent03bacec1394032712c534605476fb634b85eee28 (diff)
Refactor ContactPreference
Moving it outside contacts.commons reduces dependency to legacy code. Also removed redundant implementations such as caching SharedPreferences (it is already cached), custom ListPreferences (standard ListPreferences already have what we want), and corrected preference storage location (allow standard ListPreferences to work) TEST=TAP Test: TAP PiperOrigin-RevId: 202000393 Change-Id: I45374e610b3510784b5a4da92e5d8462cbfc92bb
Diffstat (limited to 'java/com/android/dialer/contactsfragment')
-rw-r--r--java/com/android/dialer/contactsfragment/ContactsCursorLoader.java27
-rw-r--r--java/com/android/dialer/contactsfragment/ContactsFragment.java12
2 files changed, 19 insertions, 20 deletions
diff --git a/java/com/android/dialer/contactsfragment/ContactsCursorLoader.java b/java/com/android/dialer/contactsfragment/ContactsCursorLoader.java
index e55f95149..d74afe538 100644
--- a/java/com/android/dialer/contactsfragment/ContactsCursorLoader.java
+++ b/java/com/android/dialer/contactsfragment/ContactsCursorLoader.java
@@ -21,7 +21,7 @@ import android.content.CursorLoader;
import android.net.Uri;
import android.provider.ContactsContract.Contacts;
import android.text.TextUtils;
-import com.android.contacts.common.preference.ContactsPreferences;
+import com.android.dialer.contacts.ContactsComponent;
/** Cursor Loader for {@link ContactsFragment}. */
final class ContactsCursorLoader extends CursorLoader {
@@ -61,12 +61,13 @@ final class ContactsCursorLoader extends CursorLoader {
}
private static String[] getProjection(Context context) {
- ContactsPreferences contactsPrefs = new ContactsPreferences(context);
- boolean displayOrderPrimary =
- (contactsPrefs.getDisplayOrder() == ContactsPreferences.DISPLAY_ORDER_PRIMARY);
- return displayOrderPrimary
- ? CONTACTS_PROJECTION_DISPLAY_NAME_PRIMARY
- : CONTACTS_PROJECTION_DISPLAY_NAME_ALTERNATIVE;
+ switch (ContactsComponent.get(context).contactDisplayPreferences().getDisplayOrder()) {
+ case PRIMARY:
+ return CONTACTS_PROJECTION_DISPLAY_NAME_PRIMARY;
+ case ALTERNATIVE:
+ return CONTACTS_PROJECTION_DISPLAY_NAME_ALTERNATIVE;
+ }
+ throw new AssertionError("exhaustive switch");
}
private static String getWhere(Context context, boolean hasPhoneNumbers) {
@@ -78,10 +79,14 @@ final class ContactsCursorLoader extends CursorLoader {
}
private static String getSortKey(Context context) {
- ContactsPreferences contactsPrefs = new ContactsPreferences(context);
- boolean sortOrderPrimary =
- (contactsPrefs.getSortOrder() == ContactsPreferences.SORT_ORDER_PRIMARY);
- return sortOrderPrimary ? Contacts.SORT_KEY_PRIMARY : Contacts.SORT_KEY_ALTERNATIVE;
+
+ switch (ContactsComponent.get(context).contactDisplayPreferences().getSortOrder()) {
+ case BY_PRIMARY:
+ return Contacts.SORT_KEY_PRIMARY;
+ case BY_ALTERNATIVE:
+ return Contacts.SORT_KEY_ALTERNATIVE;
+ }
+ throw new AssertionError("exhaustive switch");
}
/** Update cursor loader to filter contacts based on the provided query. */
diff --git a/java/com/android/dialer/contactsfragment/ContactsFragment.java b/java/com/android/dialer/contactsfragment/ContactsFragment.java
index 794a5b91c..f40abec0d 100644
--- a/java/com/android/dialer/contactsfragment/ContactsFragment.java
+++ b/java/com/android/dialer/contactsfragment/ContactsFragment.java
@@ -41,8 +41,6 @@ import android.view.View.OnScrollChangeListener;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
-import com.android.contacts.common.preference.ContactsPreferences;
-import com.android.contacts.common.preference.ContactsPreferences.ChangeListener;
import com.android.dialer.common.Assert;
import com.android.dialer.common.FragmentUtils;
import com.android.dialer.common.LogUtil;
@@ -60,8 +58,7 @@ import java.util.Arrays;
public class ContactsFragment extends Fragment
implements LoaderCallbacks<Cursor>,
OnScrollChangeListener,
- OnEmptyViewActionButtonClickedListener,
- ChangeListener {
+ OnEmptyViewActionButtonClickedListener {
/** An enum for the different types of headers that be inserted at position 0 in the list. */
@Retention(RetentionPolicy.SOURCE)
@@ -98,7 +95,6 @@ public class ContactsFragment extends Fragment
private @Header int header;
- private ContactsPreferences contactsPrefs;
private boolean hasPhoneNumbers;
private String query;
@@ -154,8 +150,6 @@ public class ContactsFragment extends Fragment
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- contactsPrefs = new ContactsPreferences(getContext());
- contactsPrefs.registerChangeListener(this);
header = getArguments().getInt(EXTRA_HEADER);
hasPhoneNumbers = getArguments().getBoolean(EXTRA_HAS_PHONE_NUMBERS);
if (savedInstanceState == null) {
@@ -224,7 +218,8 @@ public class ContactsFragment extends Fragment
}
@Override
- public void onChange() {
+ public void onResume() {
+ super.onResume();
if (getActivity() != null
&& isAdded()
&& PermissionsUtil.hasContactsReadPermissions(getContext())) {
@@ -268,7 +263,6 @@ public class ContactsFragment extends Fragment
recyclerView.setAdapter(null);
recyclerView.setOnScrollChangeListener(null);
adapter = null;
- contactsPrefs.unregisterChangeListener();
}
/*