Loading src/com/android/contacts/common/list/ContactEntryListFragment.java +10 −6 Original line number Diff line number Diff line Loading @@ -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) { Loading src/com/android/contacts/common/list/ContactListFilter.java +28 −0 Original line number Diff line number Diff line Loading @@ -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. */ Loading Loading @@ -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. */ Loading src/com/android/contacts/common/list/ContactListFilterController.java +8 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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(); Loading Loading @@ -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 = Loading src/com/android/contacts/common/logging/ListEvent.java +12 −0 Original line number Diff line number Diff line Loading @@ -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() { } Loading Loading
src/com/android/contacts/common/list/ContactEntryListFragment.java +10 −6 Original line number Diff line number Diff line Loading @@ -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) { Loading
src/com/android/contacts/common/list/ContactListFilter.java +28 −0 Original line number Diff line number Diff line Loading @@ -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. */ Loading Loading @@ -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. */ Loading
src/com/android/contacts/common/list/ContactListFilterController.java +8 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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(); Loading Loading @@ -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 = Loading
src/com/android/contacts/common/logging/ListEvent.java +12 −0 Original line number Diff line number Diff line Loading @@ -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() { } Loading