summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Pinyao Ting <pinyaoting@google.com> 2022-10-03 23:43:13 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2022-10-03 23:43:13 +0000
commit10033535fca628f3a24224ed1418d97dceec1f49 (patch)
tree66ce34eb0773fc08e9c1ba88fd2cd96eadc09606
parent725961fbbf3fad1207222b3dd68ff803e68528b9 (diff)
parenta8fe41afb0a89979386ffd17213eb7b5f1c3739d (diff)
[Do Not Merge] Ignore malformed shortcuts am: a8fe41afb0
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20015227 Change-Id: Iec12138fa01ed8ddb78a1d62307afd157d8060ca 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.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/pm/ShortcutPackage.java b/services/core/java/com/android/server/pm/ShortcutPackage.java
index 9e27f65105eb..f2bfb2aa1405 100644
--- a/services/core/java/com/android/server/pm/ShortcutPackage.java
+++ b/services/core/java/com/android/server/pm/ShortcutPackage.java
@@ -1798,11 +1798,15 @@ class ShortcutPackage extends ShortcutPackageItem {
continue;
case TAG_SHORTCUT:
- final ShortcutInfo si = parseShortcut(parser, packageName,
- shortcutUser.getUserId(), fromBackup);
-
- // Don't use addShortcut(), we don't need to save the icon.
- ret.mShortcuts.put(si.getId(), si);
+ try {
+ final ShortcutInfo si = parseShortcut(parser, packageName,
+ shortcutUser.getUserId(), fromBackup);
+ // Don't use addShortcut(), we don't need to save the icon.
+ ret.mShortcuts.put(si.getId(), si);
+ } catch (Exception e) {
+ // b/246540168 malformed shortcuts should be ignored
+ Slog.e(TAG, "Failed parsing shortcut.", e);
+ }
continue;
case TAG_SHARE_TARGET:
ret.mShareTargets.add(ShareTargetInfo.loadFromXml(parser));