diff --git a/services/core/java/com/android/server/pm/ShortcutBitmapSaver.java b/services/core/java/com/android/server/pm/ShortcutBitmapSaver.java index f411c98433cf7..901f96f7054ba 100644 --- a/services/core/java/com/android/server/pm/ShortcutBitmapSaver.java +++ b/services/core/java/com/android/server/pm/ShortcutBitmapSaver.java @@ -61,7 +61,7 @@ public class ShortcutBitmapSaver { * Before saving shortcuts.xml, and returning icons to the launcher, we wait for all pending * saves to finish. However if it takes more than this long, we just give up and proceed. */ - private final long SAVE_WAIT_TIMEOUT_MS = 30 * 1000; + private final long SAVE_WAIT_TIMEOUT_MS = 5 * 1000; private final ShortcutService mService; @@ -281,7 +281,7 @@ public class ShortcutBitmapSaver { } final String path = file.getAbsolutePath(); - mService.postValue(shortcut, si -> si.setBitmapPath(path)); + shortcut.setBitmapPath(path); } catch (IOException | RuntimeException e) { Slog.e(ShortcutService.TAG, "Unable to write bitmap to file", e); @@ -296,14 +296,12 @@ public class ShortcutBitmapSaver { Slog.d(TAG, "Saved bitmap."); } if (shortcut != null) { - mService.postValue(shortcut, si -> { - if (si.getBitmapPath() == null) { - removeIcon(si); - } + if (shortcut.getBitmapPath() == null) { + removeIcon(shortcut); + } - // Whatever happened, remove this flag. - si.clearFlags(ShortcutInfo.FLAG_ICON_FILE_PENDING_SAVE); - }); + // Whatever happened, remove this flag. + shortcut.clearFlags(ShortcutInfo.FLAG_ICON_FILE_PENDING_SAVE); } } return true; diff --git a/services/core/java/com/android/server/pm/ShortcutService.java b/services/core/java/com/android/server/pm/ShortcutService.java index 1e9d7e1f8ad2d..5f10277972928 100644 --- a/services/core/java/com/android/server/pm/ShortcutService.java +++ b/services/core/java/com/android/server/pm/ShortcutService.java @@ -1208,16 +1208,6 @@ public class ShortcutService extends IShortcutService.Stub { } } - void postValue(@NonNull final ShortcutInfo shortcutInfo, - @NonNull final Consumer cb) { - final String pkg = shortcutInfo.getPackage(); - final int userId = shortcutInfo.getUserId(); - final String id = shortcutInfo.getId(); - synchronized (mLock) { - getPackageShortcutsLocked(pkg, userId).mutateShortcut(id, shortcutInfo, cb); - } - } - /** Return the last reset time. */ @GuardedBy("mLock") long getLastResetTimeLocked() {