Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eec094a2 authored by Brandon Maxwell's avatar Brandon Maxwell Committed by Android (Google) Code Review
Browse files

Merge "Adding method to choose namePrimary or nameAlt for sorting purposes"...

Merge "Adding method to choose namePrimary or nameAlt for sorting purposes" into ub-contactsdialer-a-dev
parents 47757164 3e2799f9
Loading
Loading
Loading
Loading
+31 −13
Original line number Diff line number Diff line
@@ -18,6 +18,8 @@ package com.android.contacts.common.util;

import static android.provider.ContactsContract.CommonDataKinds.Phone;

import com.google.common.base.Preconditions;

import android.content.Context;
import android.telephony.PhoneNumberUtils;
import android.text.Spannable;
@@ -31,8 +33,6 @@ import com.android.contacts.common.R;
import com.android.contacts.common.preference.ContactsPreferences;
import com.android.contacts.common.testing.NeededForTesting;

import com.google.common.base.Preconditions;

/**
 * Methods for handling various contact data labels.
 */
@@ -237,26 +237,44 @@ public class ContactDisplayUtils {
     *          {@link ContactsPreferences#DISPLAY_ORDER_ALTERNATIVE}
     * @return namePrimary or nameAlternative depending on the value of displayOrderPreference
     */
    @NeededForTesting // TODO Temporary until used in source
    public static String getPreferredName(String namePrimary, String nameAlternative,
    public static String getPreferredDisplayName(String namePrimary, String nameAlternative,
            int displayOrderPreference) {
        if (TextUtils.isEmpty(nameAlternative)) {
            Log.d(TAG, "nameAlternative was empty - defaulting to primary");
        if (displayOrderPreference == ContactsPreferences.DISPLAY_ORDER_PRIMARY) {
            return namePrimary;
        }

        if (displayOrderPreference != ContactsPreferences.DISPLAY_ORDER_PRIMARY
                && displayOrderPreference != ContactsPreferences.DISPLAY_ORDER_ALTERNATIVE) {
            Log.d(TAG, "Attempted to get preferredName with invalid preference "
                    + "- defaulting to primary");
            return namePrimary;
        if (displayOrderPreference == ContactsPreferences.DISPLAY_ORDER_ALTERNATIVE &&
                !TextUtils.isEmpty(nameAlternative)) {
            return nameAlternative;
        }

        return namePrimary;
    }

        if (displayOrderPreference == ContactsPreferences.DISPLAY_ORDER_PRIMARY) {
    /**
     * Returns either namePrimary or nameAlternative based on the value of sortOrderPreference
     *
     * In the event that nameAlternative is empty or sortOrderPreference is neither
     * {@link ContactsPreferences#SORT_ORDER_PRIMARY} nor
     * {@link ContactsPreferences#SORT_ORDER_ALTERNATIVE}, namePrimary is returned
     *
     * @param namePrimary the primary name
     * @param nameAlternative the alternative name
     * @param sortOrderPreference one of {@link ContactsPreferences#SORT_ORDER_PRIMARY} or
     *          {@link ContactsPreferences#SORT_ORDER_ALTERNATIVE}
     * @return namePrimary or nameAlternative depending on the value of displayOrderPreference
     */
    public static String getPreferredSortName(String namePrimary, String nameAlternative,
            int sortOrderPreference) {
        if (sortOrderPreference == ContactsPreferences.SORT_ORDER_PRIMARY) {
            return namePrimary;
        }

        if (sortOrderPreference == ContactsPreferences.SORT_ORDER_ALTERNATIVE &&
                !TextUtils.isEmpty(nameAlternative)) {
            return nameAlternative;
        }

        return namePrimary;
    }
}
+29 −9
Original line number Diff line number Diff line
@@ -96,23 +96,43 @@ public class ContactDisplayUtilTests extends AndroidTestCase {
        assertEquals(R.string.sms_home, ContactDisplayUtils.getSmsLabelResourceId(Phone.TYPE_HOME));
    }

    public void testGetPreferredNameEmptyAlternative() {
        assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredName(NAME_PRIMARY, "",
                ContactsPreferences.DISPLAY_ORDER_PRIMARY));
    public void testGetPreferredDisplayNameEmptyAlternative() {
        assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredDisplayName(NAME_PRIMARY, "",
                ContactsPreferences.DISPLAY_ORDER_ALTERNATIVE));
    }

    public void testGetPreferredInvalidPreference() {
        assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredName(NAME_PRIMARY,
    public void testGetPreferredDisplayNameInvalidPreference() {
        assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredDisplayName(NAME_PRIMARY,
                NAME_ALTERNATIVE, -1));
    }

    public void testGetPreferredNamePrimary() {
        assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredName(NAME_PRIMARY,
    public void testGetPreferredDisplayNamePrimary() {
        assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredDisplayName(NAME_PRIMARY,
                NAME_ALTERNATIVE, ContactsPreferences.DISPLAY_ORDER_PRIMARY));
    }

    public void testGetPreferredNameAlternative() {
        assertEquals(NAME_ALTERNATIVE, ContactDisplayUtils.getPreferredName(NAME_PRIMARY,
    public void testGetPreferredDisplayNameAlternative() {
        assertEquals(NAME_ALTERNATIVE, ContactDisplayUtils.getPreferredDisplayName(NAME_PRIMARY,
                NAME_ALTERNATIVE, ContactsPreferences.DISPLAY_ORDER_ALTERNATIVE));
    }

    public void testGetPreferredSortNameEmptyAlternative() {
        assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredSortName(NAME_PRIMARY, "",
                ContactsPreferences.SORT_ORDER_ALTERNATIVE));
    }

    public void testGetPreferredSortNameInvalidPreference() {
        assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredSortName(NAME_PRIMARY,
                NAME_ALTERNATIVE, -1));
    }

    public void testGetPreferredSortNamePrimary() {
        assertEquals(NAME_PRIMARY, ContactDisplayUtils.getPreferredSortName(NAME_PRIMARY,
                NAME_ALTERNATIVE, ContactsPreferences.SORT_ORDER_PRIMARY));
    }

    public void testGetPreferredSortNameAlternative() {
        assertEquals(NAME_ALTERNATIVE, ContactDisplayUtils.getPreferredSortName(NAME_PRIMARY,
                NAME_ALTERNATIVE, ContactsPreferences.SORT_ORDER_ALTERNATIVE));
    }
}