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

Commit f6281262 authored by Walter Jang's avatar Walter Jang Committed by Android (Google) Code Review
Browse files

Merge "Log device, custom, and picker list types (2/3)" into ub-contactsdialer-f-dev

parents 54205a82 1bdef2f4
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -452,16 +452,20 @@ public abstract class ContactEntryListFragment<T extends ContactEntryListAdapter
                    }
                }
            } else {
                maybeLogListEvent();
                mDirectoryListStatus = STATUS_NOT_LOADED;
                getLoaderManager().destroyLoader(DIRECTORY_LOADER_ID);
            }
        }
    }

    protected void maybeLogListEvent() {
        if (!mDataLoaded || mLogListEvents) {
            Logger.logListEvent(ActionType.LOAD, getListType(), getAdapter().getCount(),
                        /* clickedIndex */ -1, /* numSelected */ 0);
            mLogListEvents = false;
            mDataLoaded = true;
        }
                mDirectoryListStatus = STATUS_NOT_LOADED;
                getLoaderManager().destroyLoader(DIRECTORY_LOADER_ID);
            }
        }
    }

    public void onLoaderReset(Loader<Cursor> loader) {
+28 −0
Original line number Diff line number Diff line
@@ -24,6 +24,8 @@ import android.os.Parcelable;
import android.provider.ContactsContract.RawContacts;
import android.text.TextUtils;

import com.android.contacts.common.logging.ListEvent;

/**
 * Contact list filter parameters.
 */
@@ -100,6 +102,32 @@ public final class ContactListFilter implements Comparable<ContactListFilter>, P
                || filterType == ContactListFilter.FILTER_TYPE_CUSTOM;
    }

    /** Returns the {@link ListEvent.ListType} for the type of this filter. */
    public int toListType() {
        switch (filterType) {
            case FILTER_TYPE_DEFAULT:
                // Fall through
            case FILTER_TYPE_ALL_ACCOUNTS:
                return ListEvent.ListType.ALL_CONTACTS;
            case FILTER_TYPE_CUSTOM:
                return ListEvent.ListType.CUSTOM;
            case FILTER_TYPE_STARRED:
                return ListEvent.ListType.STARRED;
            case FILTER_TYPE_WITH_PHONE_NUMBERS_ONLY:
                return ListEvent.ListType.PHONE_NUMBERS;
            case FILTER_TYPE_SINGLE_CONTACT:
                return ListEvent.ListType.SINGLE_CONTACT;
            case FILTER_TYPE_ACCOUNT:
                return ListEvent.ListType.ACCOUNT;
            case FILTER_TYPE_GROUP_MEMBERS:
                return ListEvent.ListType.GROUP;
            case FILTER_TYPE_DEVICE_CONTACTS:
                return ListEvent.ListType.DEVICE;
        }
        return ListEvent.ListType.UNKNOWN_LIST;
    }


    /**
     * Returns true if this filter is based on data and may become invalid over time.
     */
+8 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;

import com.android.contacts.common.logging.ListEvent;
import com.android.contacts.common.model.AccountTypeManager;
import com.android.contacts.common.model.account.AccountWithDataSet;

@@ -54,6 +55,8 @@ public abstract class ContactListFilterController {
     */
    public abstract ContactListFilter getFilter();

    public abstract int getFilterListType();

    /**  Whether the persisted filter is a custom filter. */
    public abstract boolean isCustomFilterPersisted();

@@ -108,6 +111,11 @@ class ContactListFilterControllerImpl extends ContactListFilterController {
        return mFilter;
    }

    @Override
    public int getFilterListType() {
        return mFilter == null ? ListEvent.ListType.UNKNOWN_LIST : mFilter.toListType();
    }

    @Override
    public boolean isCustomFilterPersisted() {
        final ContactListFilter filter =
+12 −0
Original line number Diff line number Diff line
@@ -61,6 +61,18 @@ public final class ListEvent {
        public static final int ACCOUNT = 2;
        public static final int GROUP = 3;
        public static final int SEARCH_RESULT = 4;
        public static final int DEVICE = 5;
        public static final int CUSTOM = 6;
        public static final int STARRED = 7;
        public static final int PHONE_NUMBERS = 8;
        public static final int SINGLE_CONTACT = 9;
        public static final int PICK_CONTACT = 10;
        public static final int PICK_CONTACT_FOR_SHORTCUT = 11;
        public static final int PICK_PHONE = 12;
        public static final int PICK_EMAIL = 13;
        public static final int PICK_POSTAL = 14;
        public static final int PICK_JOIN = 15;
        public static final int PICK_GROUP_MEMBERS = 16;

        private ListType() {
        }