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

Commit 3cbc7482 authored by Marcus Hagerott's avatar Marcus Hagerott
Browse files

Fix exceptions logged when loading icons

A RuntimeException was being logged at debug level (not a crash). This
was probably introduced when the icons were changed to vector drawables
in Iafea5c1bba738c57437888da999fc2909d0765fd

Test: manually observe logs while opening editor and quick contact
Change-Id: I8333d9aa86ed8580798deff58ecdcf29037c0aab
parent 5c65bfd3
Loading
Loading
Loading
Loading
+27 −19
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ import android.provider.ContactsContract.CommonDataKinds.Relation;
import android.provider.ContactsContract.CommonDataKinds.SipAddress;
import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
import android.provider.ContactsContract.CommonDataKinds.Website;
import android.support.v4.content.res.ResourcesCompat;
import android.text.TextUtils;
import android.widget.ImageView;

@@ -158,37 +159,44 @@ public class EditorUiUtils {
    public static Drawable getMimeTypeDrawable(Context context, String mimeType) {
        switch (mimeType) {
            case StructuredName.CONTENT_ITEM_TYPE:
                return context.getResources().getDrawable(R.drawable.quantum_ic_person_vd_theme_24);
                return ResourcesCompat.getDrawable(context.getResources(),
                        R.drawable.quantum_ic_person_vd_theme_24, null);
            case StructuredPostal.CONTENT_ITEM_TYPE:
                return context.getResources().getDrawable(R.drawable.quantum_ic_place_vd_theme_24);
                return ResourcesCompat.getDrawable(context.getResources(),
                        R.drawable.quantum_ic_place_vd_theme_24, null);
            case SipAddress.CONTENT_ITEM_TYPE:
                return context.getResources().getDrawable(
                        R.drawable.quantum_ic_dialer_sip_vd_theme_24);
                return ResourcesCompat.getDrawable(context.getResources(),
                        R.drawable.quantum_ic_dialer_sip_vd_theme_24, null);
            case Phone.CONTENT_ITEM_TYPE:
                return context.getResources().getDrawable(R.drawable.quantum_ic_phone_vd_theme_24);
                return ResourcesCompat.getDrawable(context.getResources(),
                        R.drawable.quantum_ic_phone_vd_theme_24, null);
            case Im.CONTENT_ITEM_TYPE:
                return context.getResources().getDrawable(
                        R.drawable.quantum_ic_message_vd_theme_24);
                return ResourcesCompat.getDrawable(context.getResources(),
                        R.drawable.quantum_ic_message_vd_theme_24, null);
            case Event.CONTENT_ITEM_TYPE:
                return context.getResources().getDrawable(R.drawable.quantum_ic_event_vd_theme_24);
                return ResourcesCompat.getDrawable(context.getResources(),
                        R.drawable.quantum_ic_event_vd_theme_24, null);
            case Email.CONTENT_ITEM_TYPE:
                return context.getResources().getDrawable(R.drawable.quantum_ic_email_vd_theme_24);
                return ResourcesCompat.getDrawable(context.getResources(),
                        R.drawable.quantum_ic_email_vd_theme_24, null);
            case Website.CONTENT_ITEM_TYPE:
                return context.getResources().getDrawable(R.drawable.quantum_ic_public_vd_theme_24);
                return ResourcesCompat.getDrawable(context.getResources(),
                        R.drawable.quantum_ic_public_vd_theme_24, null);
            case Photo.CONTENT_ITEM_TYPE:
                return context.getResources().getDrawable(
                        R.drawable.quantum_ic_camera_alt_vd_theme_24);
                return ResourcesCompat.getDrawable(context.getResources(),
                        R.drawable.quantum_ic_camera_alt_vd_theme_24, null);
            case GroupMembership.CONTENT_ITEM_TYPE:
                return context.getResources().getDrawable(R.drawable.quantum_ic_label_vd_theme_24);
                return ResourcesCompat.getDrawable(context.getResources(),
                        R.drawable.quantum_ic_label_vd_theme_24, null);
            case Organization.CONTENT_ITEM_TYPE:
                return context.getResources().getDrawable(
                        R.drawable.quantum_ic_business_vd_theme_24);
                return ResourcesCompat.getDrawable(context.getResources(),
                        R.drawable.quantum_ic_business_vd_theme_24, null);
            case Note.CONTENT_ITEM_TYPE:
                return context.getResources().getDrawable(
                        R.drawable.quantum_ic_insert_comment_vd_theme_24);
                return ResourcesCompat.getDrawable(context.getResources(),
                        R.drawable.quantum_ic_insert_comment_vd_theme_24, null);
            case Relation.CONTENT_ITEM_TYPE:
                return context.getResources().getDrawable(
                        R.drawable.quantum_ic_circles_ext_vd_theme_24);
                return ResourcesCompat.getDrawable(context.getResources(),
                        R.drawable.quantum_ic_circles_ext_vd_theme_24, null);
            default:
                return null;
        }
+2 −1
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.content.Context;
import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable;
import android.support.v4.content.ContextCompat;
import android.support.v4.content.res.ResourcesCompat;

import com.android.contacts.R;
import com.android.contacts.model.dataitem.DataKind;
@@ -63,7 +64,7 @@ public class FallbackAccountType extends BaseAccountType {

    @Override
    public Drawable getDisplayIcon(Context context) {
        final Drawable icon = context.getResources().getDrawable(iconRes);
        final Drawable icon = ResourcesCompat.getDrawable(context.getResources(), iconRes, null);
        icon.mutate().setColorFilter(ContextCompat.getColor(context,
                R.color.actionbar_icon_color_grey), PorterDuff.Mode.SRC_ATOP);
        return icon;
+7 −6
Original line number Diff line number Diff line
@@ -74,6 +74,7 @@ import android.provider.ContactsContract.RawContacts;
import android.support.graphics.drawable.VectorDrawableCompat;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.LocalBroadcastManager;
import android.support.v4.content.res.ResourcesCompat;
import android.support.v7.graphics.Palette;
import android.telecom.PhoneAccount;
import android.telecom.TelecomManager;
@@ -1374,8 +1375,8 @@ public class QuickContactActivity extends ContactsActivity {
     * When contact is a SIM contact, only shows "Add phone number".
     */
    private void initializeNoContactDetailCard(boolean areAllRawContactsSimAccounts) {
        final Drawable phoneIcon = getResources().getDrawable(
                R.drawable.quantum_ic_phone_vd_theme_24).mutate();
        final Drawable phoneIcon = ResourcesCompat.getDrawable(getResources(),
                R.drawable.quantum_ic_phone_vd_theme_24, null).mutate();
        final Entry phonePromptEntry = new Entry(CARD_ENTRY_ID_EDIT_CONTACT,
                phoneIcon, getString(R.string.quickcontact_add_phone_number),
                /* subHeader = */ null, /* subHeaderIcon = */ null, /* text = */ null,
@@ -1395,8 +1396,8 @@ public class QuickContactActivity extends ContactsActivity {
        promptEntries.get(0).add(phonePromptEntry);

        if (!areAllRawContactsSimAccounts) {
            final Drawable emailIcon = getResources().getDrawable(
                    R.drawable.quantum_ic_email_vd_theme_24).mutate();
            final Drawable emailIcon = ResourcesCompat.getDrawable(getResources(),
                    R.drawable.quantum_ic_email_vd_theme_24, null).mutate();
            final Entry emailPromptEntry = new Entry(CARD_ENTRY_ID_EDIT_CONTACT,
                    emailIcon, getString(R.string.quickcontact_add_email), /* subHeader = */ null,
                    /* subHeaderIcon = */ null,
@@ -2481,8 +2482,8 @@ public class QuickContactActivity extends ContactsActivity {
                Trace.endSection();
                Trace.beginSection("initialize permission explanation card");

                final Drawable historyIcon = getResources().getDrawable(
                        R.drawable.quantum_ic_history_vd_theme_24);
                final Drawable historyIcon = ResourcesCompat.getDrawable(getResources(),
                        R.drawable.quantum_ic_history_vd_theme_24, null);

                final Entry permissionExplanationEntry = new Entry(CARD_ENTRY_ID_REQUEST_PERMISSION,
                        historyIcon, getString(R.string.permission_explanation_header),