summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Wickham <twickham@google.com>2017-07-29 01:16:13 +0000
committerTony Wickham <twickham@google.com>2017-07-29 01:16:13 +0000
commitffea4cbf0ddd8bf758d61ab0af1848a2b296fefb (patch)
tree69d216c0dff82435b832a86a03a312da69537464
parenta6c78b2c55c5acc84a49946bbd82adbcd360a519 (diff)
parenta8ccf0959754907de6aec63a41db5dc442047b80 (diff)
downloadandroid_packages_apps_Trebuchet-ffea4cbf0ddd8bf758d61ab0af1848a2b296fefb.tar.gz
android_packages_apps_Trebuchet-ffea4cbf0ddd8bf758d61ab0af1848a2b296fefb.tar.bz2
android_packages_apps_Trebuchet-ffea4cbf0ddd8bf758d61ab0af1848a2b296fefb.zip
[automerger] Use deep shortcuts' icons as a fallback when updating am: a8ccf09597
Change-Id: I6629a5ca0eed641fc575b67dda39ff63b568f71b
-rw-r--r--src/com/android/launcher3/graphics/LauncherIcons.java13
-rw-r--r--src/com/android/launcher3/model/ShortcutsChangedTask.java6
-rw-r--r--src/com/android/launcher3/model/UserLockStateChangedTask.java3
3 files changed, 18 insertions, 4 deletions
diff --git a/src/com/android/launcher3/graphics/LauncherIcons.java b/src/com/android/launcher3/graphics/LauncherIcons.java
index 739eb04bd..d95567492 100644
--- a/src/com/android/launcher3/graphics/LauncherIcons.java
+++ b/src/com/android/launcher3/graphics/LauncherIcons.java
@@ -321,6 +321,19 @@ public class LauncherIcons {
}
public static Bitmap createShortcutIcon(ShortcutInfoCompat shortcutInfo, Context context,
+ final Bitmap fallbackIcon) {
+ Provider<Bitmap> fallbackIconProvider = new Provider<Bitmap>() {
+ @Override
+ public Bitmap get() {
+ // If the shortcut is pinned but no longer has an icon in the system,
+ // keep the current icon instead of reverting to the default icon.
+ return fallbackIcon;
+ }
+ };
+ return createShortcutIcon(shortcutInfo, context, true, fallbackIconProvider);
+ }
+
+ public static Bitmap createShortcutIcon(ShortcutInfoCompat shortcutInfo, Context context,
boolean badged, @Nullable Provider<Bitmap> fallbackIconProvider) {
LauncherAppState app = LauncherAppState.getInstance(context);
Drawable unbadgedDrawable = DeepShortcutManager.getInstance(context)
diff --git a/src/com/android/launcher3/model/ShortcutsChangedTask.java b/src/com/android/launcher3/model/ShortcutsChangedTask.java
index 6f325858d..17cc238d4 100644
--- a/src/com/android/launcher3/model/ShortcutsChangedTask.java
+++ b/src/com/android/launcher3/model/ShortcutsChangedTask.java
@@ -85,10 +85,10 @@ public class ShortcutsChangedTask extends BaseModelUpdateTask {
removedShortcutInfos.addAll(shortcutInfos);
continue;
}
- for (ShortcutInfo shortcutInfo : shortcutInfos) {
+ for (final ShortcutInfo shortcutInfo : shortcutInfos) {
shortcutInfo.updateFromDeepShortcutInfo(fullDetails, context);
- shortcutInfo.iconBitmap =
- LauncherIcons.createShortcutIcon(fullDetails, context);
+ shortcutInfo.iconBitmap = LauncherIcons.createShortcutIcon(fullDetails, context,
+ shortcutInfo.iconBitmap);
updatedShortcutInfos.add(shortcutInfo);
}
}
diff --git a/src/com/android/launcher3/model/UserLockStateChangedTask.java b/src/com/android/launcher3/model/UserLockStateChangedTask.java
index 568200646..802771f04 100644
--- a/src/com/android/launcher3/model/UserLockStateChangedTask.java
+++ b/src/com/android/launcher3/model/UserLockStateChangedTask.java
@@ -85,7 +85,8 @@ public class UserLockStateChangedTask extends BaseModelUpdateTask {
}
si.isDisabled &= ~ShortcutInfo.FLAG_DISABLED_LOCKED_USER;
si.updateFromDeepShortcutInfo(shortcut, context);
- si.iconBitmap = LauncherIcons.createShortcutIcon(shortcut, context);
+ si.iconBitmap = LauncherIcons.createShortcutIcon(shortcut, context,
+ si.iconBitmap);
} else {
si.isDisabled |= ShortcutInfo.FLAG_DISABLED_LOCKED_USER;
}