summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2022-10-04 00:59:35 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2022-10-04 00:59:35 +0000
commite667a6bfe257c43fea345a9cb48ee1c86bbd36cc (patch)
tree30812707c1077525cb05badb8492c194a49fc1cd
parentc03b0e2d7829aafb1af853aebdd591aa3777c2fc (diff)
parent36338a315218221e51c24a42e44c4f743d416f82 (diff)
downloadbase-e667a6bfe257c43fea345a9cb48ee1c86bbd36cc.tar.gz
Merge "[Do Not Merge] Ignore malformed shortcuts" into sc-dev
-rw-r--r--services/core/java/com/android/server/pm/ShortcutPackage.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/pm/ShortcutPackage.java b/services/core/java/com/android/server/pm/ShortcutPackage.java
index b4bd086af272..3506fd9be15d 100644
--- a/services/core/java/com/android/server/pm/ShortcutPackage.java
+++ b/services/core/java/com/android/server/pm/ShortcutPackage.java
@@ -1967,10 +1967,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));