Show account name in title bar and remove filter header

1. This CL updates action bar title when filter is set.
2. The view with id account_filter_header_container is used
   in 3 fragments:
      DefaultContactBrowseListFragment.java
      PhoneNumberPickerFragment.java
      GroupMembersListFragment.java
   These CLs remove its usages and it will only be used in
   GroupMembersListFragment.java.
3. This CL also removes the SUBACTIVITY_ACCOUNT_FILTER as it
   is not in use after AccountFilterActivity is removed.

Bug 28503355

Change-Id: I3458390eaf7f805bbd7c2d91b06dbf71918e6448
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 586a8b1..345a822 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -129,9 +129,6 @@
 
     private static final String ENABLE_DEBUG_OPTIONS_HIDDEN_CODE = "debug debug!";
 
-    // These values needs to start at 2. See {@link ContactEntryListFragment}.
-    private static final int SUBACTIVITY_ACCOUNT_FILTER = 2;
-
     private final DialogManager mDialogManager = new DialogManager(this);
 
     private ContactsIntentResolver mIntentResolver;
@@ -584,7 +581,7 @@
             return;
         }
 
-        mAllFragment.setFilter(mContactListFilterController.getFilter());
+        setFilterAndUpdateTitle(mContactListFilterController.getFilter());
 
         invalidateOptionsMenuIfNeeded();
     }
@@ -881,7 +878,7 @@
             mAllFragment.setSelectedContactUri(contactUri);
         }
 
-        mAllFragment.setFilter(mContactListFilterController.getFilter());
+        setFilterAndUpdateTitle(mContactListFilterController.getFilter());
         setQueryTextToFragment(mActionBarAdapter.getQueryString());
 
         if (mRequest.isDirectorySearchEnabled()) {
@@ -893,7 +890,7 @@
 
     private void configureContactListFragment() {
         // Filter may be changed when this Activity is in background.
-        mAllFragment.setFilter(mContactListFilterController.getFilter());
+        setFilterAndUpdateTitle(mContactListFilterController.getFilter());
 
         mAllFragment.setVerticalScrollbarPosition(getScrollBarPosition());
         mAllFragment.setSelectionVisible(false);
@@ -1056,11 +1053,11 @@
                     && currentFilter.filterType == ContactListFilter.FILTER_TYPE_SINGLE_CONTACT) {
                 filter = ContactListFilter.createFilterWithType(
                         ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS);
-                mAllFragment.setFilter(filter);
+                setFilterAndUpdateTitle(filter);
             } else {
                 filter = ContactListFilter.createFilterWithType(
                         ContactListFilter.FILTER_TYPE_SINGLE_CONTACT);
-                mAllFragment.setFilter(filter, false);
+                setFilterAndUpdateTitle(filter, /* restoreSelectedUri */ false);
             }
             mContactListFilterController.setContactListFilter(filter, true);
         }
@@ -1330,12 +1327,6 @@
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         switch (requestCode) {
-            case SUBACTIVITY_ACCOUNT_FILTER: {
-                AccountFilterUtil.handleAccountFilterResult(
-                        mContactListFilterController, resultCode, data);
-                break;
-            }
-
             // TODO: Using the new startActivityWithResultFromFragment API this should not be needed
             // anymore
             case ContactEntryListFragment.ACTIVITY_REQUEST_CODE_PICKER:
@@ -1465,4 +1456,17 @@
         }
         return position;
     }
+
+    private void setFilterAndUpdateTitle(ContactListFilter filter) {
+        setFilterAndUpdateTitle(filter, true);
+    }
+
+    private void setFilterAndUpdateTitle(ContactListFilter filter, boolean restoreSelectedUri) {
+        mAllFragment.setFilter(filter, restoreSelectedUri);
+        if (getSupportActionBar() != null) {
+            final String actionBarTitle = TextUtils.isEmpty(filter.accountName) ?
+                    getString(R.string.contactsList) : filter.accountName;
+            getSupportActionBar().setTitle(actionBarTitle);
+        }
+    }
 }
diff --git a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
index db41ad7..2ce22c0 100644
--- a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
@@ -99,8 +99,6 @@
     protected void onCreateView(LayoutInflater inflater, ViewGroup container) {
         super.onCreateView(inflater, container);
 
-        mAccountFilterHeader = getView().findViewById(R.id.account_filter_header_container);
-
         // Create an empty user profile header and hide it for now (it will be visible if the
         // contacts list will have no user profile).
         addEmptyUserProfileHeader(inflater);
@@ -133,8 +131,6 @@
     }
 
     private void checkHeaderViewVisibility() {
-        updateFilterHeaderView();
-
         // Hide the search header by default.
         if (mSearchHeaderView != null) {
             mSearchHeaderView.setVisibility(View.GONE);
@@ -142,26 +138,6 @@
     }
 
     @Override
-    public void setFilter(ContactListFilter filter) {
-        super.setFilter(filter);
-        updateFilterHeaderView();
-    }
-
-    private void updateFilterHeaderView() {
-        if (mAccountFilterHeader == null) {
-            return; // Before onCreateView -- just ignore it.
-        }
-        final ContactListFilter filter = getFilter();
-        if (filter != null && !isSearchMode()) {
-            final boolean shouldShowHeader = AccountFilterUtil.updateAccountFilterTitleForPeople(
-                    mAccountFilterHeader, filter, false);
-            mAccountFilterHeader.setVisibility(shouldShowHeader ? View.VISIBLE : View.GONE);
-        } else {
-            mAccountFilterHeader.setVisibility(View.GONE);
-        }
-    }
-
-    @Override
     protected void setProfileHeader() {
         mUserProfileExists = getAdapter().hasProfile();
         showEmptyUserProfile(!mUserProfileExists && !isSearchMode());