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

Commit 67430c6e authored by Wenyi Wang's avatar Wenyi Wang Committed by Android (Google) Code Review
Browse files

Merge "Set action bar title in fragment rather than PeopleActivity"

parents 4bb9cec9 cfe94650
Loading
Loading
Loading
Loading
+1 −21
Original line number Diff line number Diff line
@@ -843,16 +843,7 @@ public class PeopleActivity extends ContactsDrawerActivity {
            mShouldSwitchToAllContacts = true;
        }

        // Set title and check menu in navigation drawer.
        final String actionBarTitle;
        if (filter.filterType == ContactListFilter.FILTER_TYPE_DEVICE_CONTACTS) {
            actionBarTitle = getString(R.string.account_phone);
        } else if (!TextUtils.isEmpty(filter.accountName)) {
            actionBarTitle = getActionBarTitleForAccount(filter);
        } else {
            actionBarTitle = getString(R.string.contactsList);
        }
        setTitle(actionBarTitle);
        // Check menu in navigation drawer.
        updateFilterMenu(filter);

        if (CompatUtils.isNCompatible()) {
@@ -861,15 +852,4 @@ public class PeopleActivity extends ContactsDrawerActivity {
        }
        invalidateOptionsMenu();
    }

    private String getActionBarTitleForAccount(ContactListFilter filter) {
        final AccountDisplayInfoFactory factory = AccountDisplayInfoFactory
                .forAllAccounts(this);
        final AccountDisplayInfo account = factory.getAccountDisplayInfoFor(filter);
        if (account.hasGoogleAccountType()) {
            return getString(R.string.title_from_google);
        }
        return account.withFormattedName(this, R.string.title_from_other_accounts)
                .getNameLabel().toString();
    }
}
+26 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Intents;
import android.text.TextUtils;
import android.util.Log;
import android.widget.Toast;

@@ -35,6 +36,8 @@ import com.android.contacts.common.list.AccountFilterActivity;
import com.android.contacts.common.list.ContactListFilter;
import com.android.contacts.common.list.ContactListFilterController;
import com.android.contacts.common.model.AccountTypeManager;
import com.android.contacts.common.model.account.AccountDisplayInfo;
import com.android.contacts.common.model.account.AccountDisplayInfoFactory;
import com.android.contacts.common.model.account.AccountType;
import com.android.contacts.common.model.account.AccountWithDataSet;
import com.android.contacts.common.preference.ContactsPreferences;
@@ -209,4 +212,27 @@ public class AccountFilterUtil {
    public static boolean isDeviceContactsFilter(ContactListFilter filter) {
        return filter.filterType == ContactListFilter.FILTER_TYPE_DEVICE_CONTACTS;
    }

    /**
     * Returns action bar title for filter and returns default title "Contacts" if filter is empty.
     */
    public static String getActionBarTitleForFilter(Context context, ContactListFilter filter) {
        if (filter.filterType == ContactListFilter.FILTER_TYPE_DEVICE_CONTACTS) {
            return context.getString(R.string.account_phone);
        } else if (!TextUtils.isEmpty(filter.accountName)) {
            return getActionBarTitleForAccount(context, filter);
        }
        return context.getString(R.string.contactsList);
    }

    private static String getActionBarTitleForAccount(Context context, ContactListFilter filter) {
        final AccountDisplayInfoFactory factory =
                AccountDisplayInfoFactory.forAllAccounts(context);
        final AccountDisplayInfo account = factory.getAccountDisplayInfoFor(filter);
        if (account.hasGoogleAccountType()) {
            return context.getString(R.string.title_from_google);
        }
        return account.withFormattedName(context, R.string.title_from_other_accounts)
                .getNameLabel().toString();
    }
}
+1 −0
Original line number Diff line number Diff line
@@ -689,6 +689,7 @@ public class DefaultContactBrowseListFragment extends ContactBrowseListFragment
    private void setFilterAndUpdateTitle(ContactListFilter filter, boolean restoreSelectedUri) {
        setContactListFilter(filter);
        updateListFilter(filter, restoreSelectedUri);
        mActivity.setTitle(AccountFilterUtil.getActionBarTitleForFilter(mActivity, filter));

        // Determine whether the account has pullToRefresh feature
        if (Flags.getInstance(getContext()).getBoolean(Experiments.PULL_TO_REFRESH)) {