summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2022-06-02 20:34:46 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2022-06-02 20:34:46 +0000
commita73badef99edde9677e6f5c44973b0f3aa71f5fd (patch)
tree832ed79d71081194d70bb2cc67a98d8ea8cbab19
parent81a9be3118a56d17d6d66f23429f3cc4f2930eff (diff)
parentb2aad08eb80f50c1b163a2a03a98abbfdfc76f4e (diff)
Merge "Fix the issue pinned shortcuts went missing after reboot" into tm-dev am: b2aad08eb8
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18701697 Change-Id: Idca50a2a4a52a46c66a4bb224f0070b02c24669f Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--services/core/java/com/android/server/pm/ShortcutPackage.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/pm/ShortcutPackage.java b/services/core/java/com/android/server/pm/ShortcutPackage.java
index fa0c6c393cdc..0c601bfde05a 100644
--- a/services/core/java/com/android/server/pm/ShortcutPackage.java
+++ b/services/core/java/com/android/server/pm/ShortcutPackage.java
@@ -706,7 +706,7 @@ class ShortcutPackage extends ShortcutPackageItem {
}
pinnedShortcuts.addAll(pinned);
});
- // Then, update the pinned state if necessary.
+ // Secondly, update the pinned state if necessary.
final List<ShortcutInfo> pinned = findAll(pinnedShortcuts);
if (pinned != null) {
pinned.forEach(si -> {
@@ -720,6 +720,8 @@ class ShortcutPackage extends ShortcutPackageItem {
si.clearFlags(ShortcutInfo.FLAG_PINNED);
}
});
+ // Then, schedule a background job to persist the pinned states.
+ mShortcutUser.forAllLaunchers(ShortcutPackageItem::scheduleSave);
// Lastly, remove the ones that are no longer pinned, cached nor dynamic.
removeOrphans();