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

Commit 362b733e authored by Walter Jang's avatar Walter Jang
Browse files

Contacts to display preference UI tweaks (2/2)

* Make ContactListFilter.isContactsFilterType non-static
  and also accept the DEFAULT filter type.
* Move the Contacts to display preference under default account
* Show a summary string for the the Contact to display preference

Bug 29185471

Change-Id: I4464d108bfe6cc52102718ba75bb869ba234cfc8
parent db03c658
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -94,10 +94,10 @@ public final class ContactListFilter implements Comparable<ContactListFilter>, P
     * Whether the given {@link ContactListFilter} has a filter type that should be displayed as
     * the default contacts list view.
     */
    public static boolean isContactsFilterType(ContactListFilter filter) {
        if (filter == null) return false;
        return filter.filterType == ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS
                || filter.filterType == ContactListFilter.FILTER_TYPE_CUSTOM;
    public boolean isContactsFilterType() {
        return filterType == ContactListFilter.FILTER_TYPE_DEFAULT
                || filterType == ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS
                || filterType == ContactListFilter.FILTER_TYPE_CUSTOM;
    }

    /**
+20 −2
Original line number Diff line number Diff line
@@ -40,10 +40,8 @@ import com.android.contacts.common.R;
import com.android.contacts.common.compat.TelecomManagerUtil;
import com.android.contacts.common.compat.TelephonyManagerCompat;
import com.android.contacts.common.interactions.ImportExportDialogFragment;
import com.android.contacts.common.list.AccountFilterActivity;
import com.android.contacts.common.list.ContactListFilter;
import com.android.contacts.common.list.ContactListFilterController;
import com.android.contacts.common.list.CustomContactListFilterActivity;
import com.android.contacts.common.logging.ScreenEvent.ScreenType;
import com.android.contacts.common.model.AccountTypeManager;
import com.android.contacts.common.model.account.AccountWithDataSet;
@@ -205,6 +203,7 @@ public class DisplayOptionsPreferenceFragment extends PreferenceFragment
        final Preference customFilterPreference = findPreference(KEY_CUSTOM_CONTACTS_FILTER);
        if (customFilterPreference != null) {
            customFilterPreference.setOnPreferenceClickListener(this);
            setCustomContactsFilterSummary();
        }
    }

@@ -336,9 +335,28 @@ public class DisplayOptionsPreferenceFragment extends PreferenceFragment
                && resultCode == Activity.RESULT_OK) {
            AccountFilterUtil.handleAccountFilterResult(
                    ContactListFilterController.getInstance(getContext()), resultCode, data);
            setCustomContactsFilterSummary();
        } else {
            super.onActivityResult(requestCode, resultCode, data);
        }
    }

    private void setCustomContactsFilterSummary() {
        final Preference customFilterPreference = findPreference(KEY_CUSTOM_CONTACTS_FILTER);
        if (customFilterPreference != null) {
            final ContactListFilter filter =
                    ContactListFilterController.getInstance(getContext()).getFilter();
            if (filter != null) {
                if (filter.filterType == ContactListFilter.FILTER_TYPE_DEFAULT ||
                        filter.filterType == ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS) {
                    customFilterPreference.setSummary(R.string.list_filter_all_accounts);
                } else if (filter.filterType == ContactListFilter.FILTER_TYPE_CUSTOM) {
                    customFilterPreference.setSummary(R.string.list_filter_custom_preference);
                } else {
                    customFilterPreference.setSummary(null);
                }
            }
        }
    }
}