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

Commit 15898033 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Merge cherrypicks of [19601344] into tm-d1-release.

Change-Id: I3ec45d9c0bee4db21d04b13c408ebad430edfc81
parents 4ca38a23 4197ca23
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.graphics.ImageDecoder;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.Icon;
import android.net.Uri;
import android.text.TextUtils;
import android.util.Log;
import android.util.Size;

@@ -108,6 +109,12 @@ public class LocalImageResolver {
                }
                break;
            case Icon.TYPE_RESOURCE:
                if (!(TextUtils.isEmpty(icon.getResPackage())
                        || context.getPackageName().equals(icon.getResPackage()))) {
                    // We can't properly resolve icons from other packages here, so fall back.
                    return icon.loadDrawable(context);
                }

                Drawable result = resolveImage(icon.getResId(), context, maxWidth, maxHeight);
                if (result != null) {
                    return tintDrawable(icon, result);
+9 −0
Original line number Diff line number Diff line
@@ -270,4 +270,13 @@ public class LocalImageResolverTest {
        assertThat(bd.getBitmap().getHeight()).isEqualTo(originalHeight);

    }

    @Test
    public void resolveImage_iconWithOtherPackageResource_usesPackageContextDefinition()
            throws IOException {
        Icon icon = Icon.createWithResource("this_is_invalid", R.drawable.test32x24);
        Drawable d = LocalImageResolver.resolveImage(icon, mContext);
        // This drawable must not be loaded - if it was, the code ignored the package specification.
        assertThat(d).isNull();
    }
}