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

Commit e1dcafeb authored by Yao Lu's avatar Yao Lu Committed by Android (Google) Code Review
Browse files

Merge "Provide only "add phone number" option in QuickContact for SIM contact"...

Merge "Provide only "add phone number" option in QuickContact for SIM contact" into ub-contactsdialer-g-dev
parents ace08979 95a13451
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.provider.ContactsContract.Directory;
import android.provider.ContactsContract.DisplayNameSources;

import com.android.contacts.common.model.account.AccountType;
import com.android.contacts.common.model.account.SimAccountType;
import com.android.contacts.common.util.DataStatus;
import com.android.contacts.group.GroupMetaData;

@@ -471,6 +472,19 @@ public class Contact {
        return mIsUserProfile;
    }

    /**
     * @return true if all the raw contacts are from SIM accounts, and false otherwise.
     */
    public boolean areAllRawContactsSimAccounts(final Context context) {
        if (getRawContacts() == null) return false;

        for (RawContact rawContact : getRawContacts()) {
            final AccountType accountType = rawContact.getAccountType(context);
            if (!(accountType instanceof SimAccountType)) return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "{requested=" + mRequestedUri + ",lookupkey=" + mLookupKey +
+24 −18
Original line number Diff line number Diff line
@@ -1660,7 +1660,7 @@ public class QuickContactActivity extends ContactsActivity
                mScroller);

        if (contactCardEntries.size() == 0 && aboutCardEntries.size() == 0) {
            initializeNoContactDetailCard();
            initializeNoContactDetailCard(cp2DataCardModel.areAllRawContactsSimAccounts);
        } else {
            mNoContactDetailsCard.setVisibility(View.GONE);
        }
@@ -1681,8 +1681,9 @@ public class QuickContactActivity extends ContactsActivity

    /**
     * Create a card that shows "Add email" and "Add phone number" entries in grey.
     * When contact is a SIM contact, only shows "Add phone number".
     */
    private void initializeNoContactDetailCard() {
    private void initializeNoContactDetailCard(boolean areAllRawContactsSimAccounts) {
        final Drawable phoneIcon = getResources().getDrawable(
                R.drawable.ic_phone_24dp).mutate();
        final Entry phonePromptEntry = new Entry(CARD_ENTRY_ID_EDIT_CONTACT,
@@ -1699,6 +1700,11 @@ public class QuickContactActivity extends ContactsActivity
                /* thirdExtras = */ null,
                R.drawable.ic_phone_24dp);

        final List<List<Entry>> promptEntries = new ArrayList<>();
        promptEntries.add(new ArrayList<Entry>(1));
        promptEntries.get(0).add(phonePromptEntry);

        if (!areAllRawContactsSimAccounts) {
            final Drawable emailIcon = getResources().getDrawable(
                    R.drawable.ic_email_24dp).mutate();
            final Entry emailPromptEntry = new Entry(CARD_ENTRY_ID_EDIT_CONTACT,
@@ -1713,11 +1719,9 @@ public class QuickContactActivity extends ContactsActivity
                    /* thirdAction = */ Entry.ACTION_NONE, /* thirdExtras = */ null,
                    R.drawable.ic_email_24dp);

        final List<List<Entry>> promptEntries = new ArrayList<>();
        promptEntries.add(new ArrayList<Entry>(1));
            promptEntries.add(new ArrayList<Entry>(1));
        promptEntries.get(0).add(phonePromptEntry);
            promptEntries.get(1).add(emailPromptEntry);
        }

        final int subHeaderTextColor = getResources().getColor(
                R.color.quickcontact_entry_sub_header_text_color);
@@ -1828,6 +1832,7 @@ public class QuickContactActivity extends ContactsActivity
        dataModel.aboutCardEntries = aboutCardEntries;
        dataModel.contactCardEntries = contactCardEntries;
        dataModel.dataItemsMap = dataItemsMap;
        dataModel.areAllRawContactsSimAccounts = data.areAllRawContactsSimAccounts(this);
        return dataModel;
    }

@@ -1844,6 +1849,7 @@ public class QuickContactActivity extends ContactsActivity
        public List<List<Entry>> aboutCardEntries;
        public List<List<Entry>> contactCardEntries;
        public String customAboutCardName;
        public boolean areAllRawContactsSimAccounts;
    }

    private static class MutableString {