Let DefaultContactBrowseListFragment control actionbar, menu and more.
Test: manual or use GoogleContactsTests.apk
Bug: 30944495
Change-Id: Ic31df5cfe946363ff78254b7c82b042c13b107f4
diff --git a/src/com/android/contacts/ContactsDrawerActivity.java b/src/com/android/contacts/ContactsDrawerActivity.java
index 54bc4ad..1cfab16 100644
--- a/src/com/android/contacts/ContactsDrawerActivity.java
+++ b/src/com/android/contacts/ContactsDrawerActivity.java
@@ -281,6 +281,7 @@
@Override
protected void onNewIntent(Intent newIntent) {
+ mContactListFilterController.checkFilterValidity(false);
if (ACTION_CREATE_GROUP.equals(newIntent.getAction())) {
final Uri groupUri = newIntent.getData();
if (groupUri == null) {
@@ -522,7 +523,7 @@
}
}
- protected void updateFilterMenu(ContactListFilter filter) {
+ public void updateFilterMenu(ContactListFilter filter) {
clearCheckedMenus();
if (filter != null && filter.isContactsFilterType()) {
if (mIdMenuMap != null && mIdMenuMap.get(R.id.nav_all_contacts) != null) {
@@ -591,7 +592,7 @@
protected void switchToAllContacts() {
final Intent intent = new Intent();
- final ContactListFilter filter = createContactsFilter();
+ final ContactListFilter filter = AccountFilterUtil.createContactsFilter(this);
intent.putExtra(AccountFilterActivity.EXTRA_CONTACT_LIST_FILTER, filter);
AccountFilterUtil.handleAccountFilterResult(
mContactListFilterController, AppCompatActivity.RESULT_OK, intent);
@@ -605,19 +606,6 @@
Assistants.getDuplicatesActivityIntent(this));
}
- /**
- * Returns a {@link ContactListFilter} of type
- * {@link ContactListFilter#FILTER_TYPE_ALL_ACCOUNTS}, or if a custom "Contacts to display"
- * filter has been set, then one of type {@link ContactListFilter#FILTER_TYPE_CUSTOM}.
- */
- protected ContactListFilter createContactsFilter() {
- final int filterType =
- ContactListFilterController.getInstance(this).isCustomFilterPersisted()
- ? ContactListFilter.FILTER_TYPE_CUSTOM
- : ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS;
- return ContactListFilter.createFilterWithType(filterType);
- }
-
private void clearCheckedMenus() {
clearCheckedMenu(mFilterMenuMap);
clearCheckedMenu(mGroupMenuMap);