diff options
| author | 2018-03-26 19:18:39 -0700 | |
|---|---|---|
| committer | 2018-03-27 10:48:37 -0700 | |
| commit | 3e562ca5676bf84e0663489c53e7a0e05355ee2d (patch) | |
| tree | d4faddae4759ed7b3ff7d3f74c0bfc532671ca15 | |
| parent | a1ff74c68dad21694403d6aa8abb42337cbca658 (diff) | |
Use package context for loading task description icon resource
Bug: 73816146
Test: Manual, swipe up, ensure we still load icons
Change-Id: I21d39da5891e2f4cdf5427bcb03049ed05780c87
| -rw-r--r-- | packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/IconLoader.java | 10 | ||||
| -rw-r--r-- | packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/Task.java | 7 |
2 files changed, 13 insertions, 4 deletions
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/IconLoader.java b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/IconLoader.java index 14767f1c63bf..20d14188e456 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/IconLoader.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/IconLoader.java @@ -19,6 +19,7 @@ import android.app.ActivityManager; import android.content.ComponentName; import android.content.Context; import android.content.pm.ActivityInfo; +import android.content.pm.PackageManager; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; @@ -106,11 +107,12 @@ public abstract class IconLoader { return createDrawableFromBitmap(tdIcon, userId, desc); } if (desc.getIconResource() != 0) { - // TODO: Use task context here try { - return createBadgedDrawable( - mContext.getDrawable(desc.getIconResource()), userId, desc); - } catch (Resources.NotFoundException e) { + Context packageContext = mContext.createPackageContextAsUser( + taskKey.getPackageName(), 0, UserHandle.of(userId)); + 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); } } diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/Task.java b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/Task.java index 6bddbe01b11b..6af89fc01a4f 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/Task.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/Task.java @@ -80,6 +80,13 @@ public class Task { return this.baseIntent.getComponent(); } + public String getPackageName() { + if (this.baseIntent.getComponent() != null) { + return this.baseIntent.getComponent().getPackageName(); + } + return this.baseIntent.getPackage(); + } + @Override public boolean equals(Object o) { if (!(o instanceof TaskKey)) { |