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

Commit 3e562ca5 authored by Winson Chung's avatar Winson Chung
Browse files

Use package context for loading task description icon resource

Bug: 73816146
Test: Manual, swipe up, ensure we still load icons
Change-Id: I21d39da5891e2f4cdf5427bcb03049ed05780c87
parent a1ff74c6
Loading
Loading
Loading
Loading
+6 −4
Original line number Original line Diff line number Diff line
@@ -19,6 +19,7 @@ import android.app.ActivityManager;
import android.content.ComponentName;
import android.content.ComponentName;
import android.content.Context;
import android.content.Context;
import android.content.pm.ActivityInfo;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.BitmapDrawable;
@@ -106,11 +107,12 @@ public abstract class IconLoader {
            return createDrawableFromBitmap(tdIcon, userId, desc);
            return createDrawableFromBitmap(tdIcon, userId, desc);
        }
        }
        if (desc.getIconResource() != 0) {
        if (desc.getIconResource() != 0) {
            // TODO: Use task context here
            try {
            try {
                return createBadgedDrawable(
                Context packageContext = mContext.createPackageContextAsUser(
                        mContext.getDrawable(desc.getIconResource()), userId, desc);
                        taskKey.getPackageName(), 0, UserHandle.of(userId));
            } catch (Resources.NotFoundException e) {
                return createBadgedDrawable(packageContext.getDrawable(desc.getIconResource()),
                        userId, desc);
            } catch (Resources.NotFoundException|PackageManager.NameNotFoundException e) {
                Log.e(TAG, "Could not find icon drawable from resource", e);
                Log.e(TAG, "Could not find icon drawable from resource", e);
            }
            }
        }
        }
+7 −0
Original line number Original line Diff line number Diff line
@@ -80,6 +80,13 @@ public class Task {
            return this.baseIntent.getComponent();
            return this.baseIntent.getComponent();
        }
        }


        public String getPackageName() {
            if (this.baseIntent.getComponent() != null) {
                return this.baseIntent.getComponent().getPackageName();
            }
            return this.baseIntent.getPackage();
        }

        @Override
        @Override
        public boolean equals(Object o) {
        public boolean equals(Object o) {
            if (!(o instanceof TaskKey)) {
            if (!(o instanceof TaskKey)) {