diff options
author | Tony Wickham <twickham@google.com> | 2017-07-29 03:18:26 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2017-07-29 03:18:26 +0000 |
commit | f45b7bd9498c8fa62f4800fd337c0cb0ec032761 (patch) | |
tree | eff73cba11da37ab16f53121d49d571def58f104 /src | |
parent | 1201982233a2d226f08eef929a39150954a21b88 (diff) | |
parent | a8ccf0959754907de6aec63a41db5dc442047b80 (diff) | |
download | android_packages_apps_Trebuchet-f45b7bd9498c8fa62f4800fd337c0cb0ec032761.tar.gz android_packages_apps_Trebuchet-f45b7bd9498c8fa62f4800fd337c0cb0ec032761.tar.bz2 android_packages_apps_Trebuchet-f45b7bd9498c8fa62f4800fd337c0cb0ec032761.zip |
Merge "Use deep shortcuts' icons as a fallback when updating" into ub-launcher3-dorval-polish
Diffstat (limited to 'src')
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; } |