Merge "Fix the issue pinned shortcuts went missing after reboot" into tm-dev

This commit is contained in:
TreeHugger Robot
2022-06-02 19:56:46 +00:00
committed by Android (Google) Code Review

View File

@@ -706,7 +706,7 @@ class ShortcutPackage extends ShortcutPackageItem {
} }
pinnedShortcuts.addAll(pinned); pinnedShortcuts.addAll(pinned);
}); });
// Then, update the pinned state if necessary. // Secondly, update the pinned state if necessary.
final List<ShortcutInfo> pinned = findAll(pinnedShortcuts); final List<ShortcutInfo> pinned = findAll(pinnedShortcuts);
if (pinned != null) { if (pinned != null) {
pinned.forEach(si -> { pinned.forEach(si -> {
@@ -720,6 +720,8 @@ class ShortcutPackage extends ShortcutPackageItem {
si.clearFlags(ShortcutInfo.FLAG_PINNED); 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. // Lastly, remove the ones that are no longer pinned, cached nor dynamic.
removeOrphans(); removeOrphans();