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

Commit 61791445 authored by Alan Viverette's avatar Alan Viverette
Browse files

Make sure we're obtaining themed drawables correctly

Change-Id: I446a3492f7bf5a897c5d698e61327af4b7840d85
parent 6325f592
Loading
Loading
Loading
Loading
+12 −16
Original line number Diff line number Diff line
@@ -210,7 +210,7 @@ public class IconUtils {
                    return pm.getDrawable(info.packageName, icon, info.applicationInfo);
                }
            } else {
                return context.getResources().getDrawable(icon);
                return context.getDrawable(icon);
            }
        }
        return null;
@@ -218,19 +218,17 @@ public class IconUtils {

    public static Drawable loadMimeIcon(
            Context context, String mimeType, String authority, String docId, int mode) {
        final Resources res = context.getResources();

        if (Document.MIME_TYPE_DIR.equals(mimeType)) {
            // TODO: eventually move these hacky assets into that package
            if ("com.android.providers.media.documents".equals(authority)
                    && docId.startsWith("album")) {
                return res.getDrawable(R.drawable.ic_doc_album);
                return context.getDrawable(R.drawable.ic_doc_album);
            }

            if (mode == DocumentsActivity.State.MODE_GRID) {
                return res.getDrawable(R.drawable.ic_grid_folder);
                return context.getDrawable(R.drawable.ic_grid_folder);
            } else {
                return res.getDrawable(R.drawable.ic_doc_folder);
                return context.getDrawable(R.drawable.ic_doc_folder);
            }
        }

@@ -238,16 +236,14 @@ public class IconUtils {
    }

    public static Drawable loadMimeIcon(Context context, String mimeType) {
        final Resources res = context.getResources();

        if (Document.MIME_TYPE_DIR.equals(mimeType)) {
            return res.getDrawable(R.drawable.ic_doc_folder);
            return context.getDrawable(R.drawable.ic_doc_folder);
        }

        // Look for exact match first
        Integer resId = sMimeIcons.get(mimeType);
        if (resId != null) {
            return res.getDrawable(resId);
            return context.getDrawable(resId);
        }

        if (mimeType == null) {
@@ -258,15 +254,15 @@ public class IconUtils {
        // Otherwise look for partial match
        final String typeOnly = mimeType.split("/")[0];
        if ("audio".equals(typeOnly)) {
            return res.getDrawable(R.drawable.ic_doc_audio);
            return context.getDrawable(R.drawable.ic_doc_audio);
        } else if ("image".equals(typeOnly)) {
            return res.getDrawable(R.drawable.ic_doc_image);
            return context.getDrawable(R.drawable.ic_doc_image);
        } else if ("text".equals(typeOnly)) {
            return res.getDrawable(R.drawable.ic_doc_text);
            return context.getDrawable(R.drawable.ic_doc_text);
        } else if ("video".equals(typeOnly)) {
            return res.getDrawable(R.drawable.ic_doc_video);
            return context.getDrawable(R.drawable.ic_doc_video);
        } else {
            return res.getDrawable(R.drawable.ic_doc_generic);
            return context.getDrawable(R.drawable.ic_doc_generic);
        }
    }

@@ -276,7 +272,7 @@ public class IconUtils {
        final TypedValue outValue = new TypedValue();
        context.getTheme().resolveAttribute(tintAttrId, outValue, true);

        final Drawable icon = res.getDrawable(drawableId);
        final Drawable icon = context.getDrawable(drawableId);
        icon.mutate();
        icon.setTintList(res.getColorStateList(outValue.resourceId));
        return icon;
+1 −2
Original line number Diff line number Diff line
@@ -221,8 +221,7 @@ public class RecentsCreateFragment extends Fragment {
            final DocumentStack stack = getItem(position);
            iconMime.setImageDrawable(stack.root.loadIcon(context));

            final Drawable crumb = context.getResources()
                    .getDrawable(R.drawable.ic_breadcrumb_arrow);
            final Drawable crumb = context.getDrawable(R.drawable.ic_breadcrumb_arrow);
            crumb.setBounds(0, 0, crumb.getIntrinsicWidth(), crumb.getIntrinsicHeight());

            final SpannableStringBuilder builder = new SpannableStringBuilder();
+1 −1
Original line number Diff line number Diff line
@@ -205,7 +205,7 @@ public class RootInfo implements Durable, Parcelable {

    public Drawable loadIcon(Context context) {
        if (derivedIcon != 0) {
            return context.getResources().getDrawable(derivedIcon);
            return context.getDrawable(derivedIcon);
        } else {
            return IconUtils.loadPackageIcon(context, authority, icon);
        }