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

Commit 2dc340cc authored by Tingting Wang's avatar Tingting Wang
Browse files

Show "Device" in account filter if no writable accounts. (1/2)

BUG 29879881

Change-Id: I62e70b0250866b0cfe21179b9bed2f3231192775
parent 0cb0dd96
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -354,9 +354,11 @@ public abstract class ContactsDrawerActivity extends AppCompatContactsActivity i

        for (int i = 0; i < accountFilterItems.size(); i++) {
            final ContactListFilter filter = accountFilterItems.get(i);
            final String accountName = filter.accountName;
            final String menuName =
                    filter.filterType == ContactListFilter.FILTER_TYPE_DEVICE_CONTACTS
                            ? getString(R.string.account_phone) : filter.accountName;
            final MenuItem menuItem = subMenu.add(R.id.nav_filters_items, Menu.NONE, Menu.NONE,
                    accountName);
                    menuName);
            mFilterMenuMap.put(filter, menuItem);
            final Intent intent = new Intent();
            intent.putExtra(AccountFilterUtil.EXTRA_CONTACT_LIST_FILTER, filter);
+16 −4
Original line number Diff line number Diff line
@@ -489,7 +489,9 @@ public class PeopleActivity extends ContactsDrawerActivity implements
        final ContactListFilter currentFilter = mContactListFilterController.getFilter();
        final AccountWithDataSet accountOfCurrentFilter = new AccountWithDataSet(
                currentFilter.accountName, currentFilter.accountType, currentFilter.dataSet);
        return mWritableAccounts != null && mWritableAccounts.contains(accountOfCurrentFilter);
        return accountOfCurrentFilter.isLocalAccount()
                || (mWritableAccounts != null
                && mWritableAccounts.contains(accountOfCurrentFilter));
    }

    private void showFabWithAnimation(boolean showFab) {
@@ -1350,7 +1352,7 @@ public class PeopleActivity extends ContactsDrawerActivity implements
                    // If we are in account view, we pass the account explicitly in order to
                    // create contact in the account. This will prevent the default account dialog
                    // from being displayed.
                    if (!isAllContactsFilter(filter)) {
                    if (!isAllContactsFilter(filter) && !isDeviceContactsFilter(filter)) {
                        final Account account = new Account(filter.accountName, filter.accountType);
                        extras.putParcelable(Intents.Insert.EXTRA_ACCOUNT, account);
                        extras.putString(Intents.Insert.EXTRA_DATA_SET, filter.dataSet);
@@ -1392,8 +1394,14 @@ public class PeopleActivity extends ContactsDrawerActivity implements
        updateFilterMenu(filter);

        if (getSupportActionBar() != null) {
            final String actionBarTitle = TextUtils.isEmpty(filter.accountName) ?
                    getString(R.string.contactsList) : filter.accountName;
            String actionBarTitle = null;
            if (filter.filterType == ContactListFilter.FILTER_TYPE_DEVICE_CONTACTS) {
                actionBarTitle = getString(R.string.account_phone);
            } else if (!TextUtils.isEmpty(filter.accountName)) {
                actionBarTitle = filter.accountName;
            } else {
                actionBarTitle = getString(R.string.contactsList);
            }
            getSupportActionBar().setTitle(actionBarTitle);
        }
    }
@@ -1408,6 +1416,10 @@ public class PeopleActivity extends ContactsDrawerActivity implements
        return filter.filterType == ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS;
    }

    private boolean isDeviceContactsFilter(ContactListFilter filter) {
        return filter.filterType == ContactListFilter.FILTER_TYPE_DEVICE_CONTACTS;
    }

    @Override
    protected boolean shouldFinish() {
        return false;