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());