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

Commit 1bdef2f4 authored by Walter Jang's avatar Walter Jang
Browse files

Log device, custom, and picker list types (2/3)

Bug 28718104

Change-Id: Id1c5076ad00c9c81277c7a89f2af721cdf6eda8f
parent 108f7837
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -453,12 +453,7 @@ public abstract class ContactEntryListFragment<T extends ContactEntryListAdapter
                    }
                }
            } else {
                if (!mDataLoaded || mLogListEvents) {
                    Logger.logListEvent(ActionType.LOAD, getListType(), getAdapter().getCount(),
                        /* clickedIndex */ -1, /* numSelected */ 0);
                    mLogListEvents = false;
                    mDataLoaded = true;
                }
                maybeLogListEvent();
                mDirectoryListStatus = STATUS_NOT_LOADED;
                getLoaderManager().destroyLoader(DIRECTORY_LOADER_ID);

@@ -472,6 +467,15 @@ public abstract class ContactEntryListFragment<T extends ContactEntryListAdapter
        }
    }

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

    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() {
        }