commit | 818608a2d25ea51c416d589747d8ff2a3d175c74 | [log] [tgz] |
---|---|---|
author | Holly Sun <jiuyu@google.com> | Thu Oct 24 14:47:04 2024 -0700 |
committer | Holly Sun <jiuyu@google.com> | Thu Oct 24 14:47:04 2024 -0700 |
tree | 0607548cfd509b00165802d7fda1363a37b0e290 | |
parent | 8cc4cd1d8649c18aa8f2056e9d4e7022afb83d47 [diff] |
Catch exception to prevent Launcher crash. It happens on the line to get content description, which finally goes to `UserManager#getProfileType` (https://source.corp.google.com/h/googleplex-android/platform/superproject/main/+/main:frameworks/base/core/java/android/os/UserManager.java;l=3390;drc=6fa95973e4c654ccd2b9c17b5e23ecf094875c5a). Catch the SecurityException to prevent Launcher crash. Bug: 355793052 Test: manual Flag: EXEMPT bug fix Change-Id: I5ff83a50506e851362f190b5ab4c72ad7681f060
diff --git a/src/com/android/launcher3/model/data/WorkspaceItemInfo.java b/src/com/android/launcher3/model/data/WorkspaceItemInfo.java index f31bf1e..9af61f0 100644 --- a/src/com/android/launcher3/model/data/WorkspaceItemInfo.java +++ b/src/com/android/launcher3/model/data/WorkspaceItemInfo.java
@@ -189,7 +189,13 @@ if (TextUtils.isEmpty(label)) { label = shortcutInfo.getShortLabel(); } - contentDescription = context.getPackageManager().getUserBadgedLabel(label, user); + try { + contentDescription = context.getPackageManager().getUserBadgedLabel(label, user); + } catch (SecurityException e) { + contentDescription = null; + Log.e(TAG, "Failed to get content description", e); + } + if (shortcutInfo.isEnabled()) { runtimeStatusFlags &= ~FLAG_DISABLED_BY_PUBLISHER; } else {