diff --git a/core/java/android/content/pm/LauncherApps.java b/core/java/android/content/pm/LauncherApps.java index 6b23da93bb862..b9b609b5cad41 100644 --- a/core/java/android/content/pm/LauncherApps.java +++ b/core/java/android/content/pm/LauncherApps.java @@ -492,7 +492,7 @@ public class LauncherApps { * If the calling launcher application contains pinned shortcuts, they will still work, * even though the caller no longer has the shortcut host permission. * - * @throws IllegalStateException when the user is locked. + *
Returns {@code false} when the user is locked. * * @see ShortcutManager */ @@ -510,12 +510,13 @@ public class LauncherApps { *
Callers must be allowed to access the shortcut information, as defined in {@link * #hasShortcutHostPermission()}. * + *
Returns am empty list when the user is locked, or when the {@code user} user + * is locked or not running. + * * @param query result includes shortcuts matching this query. * @param user The UserHandle of the profile. * * @return the IDs of {@link ShortcutInfo}s that match the query. - * @throws IllegalStateException when the user is locked, or when the {@code user} user - * is locked or not running. * * @see ShortcutManager */ @@ -555,11 +556,12 @@ public class LauncherApps { *
The calling launcher application must be allowed to access the shortcut information, * as defined in {@link #hasShortcutHostPermission()}. * + *
Call will be ignored when the user is locked, or when the {@code user} user + * is locked or not running. + * * @param packageName The target package name. * @param shortcutIds The IDs of the shortcut to be pinned. * @param user The UserHandle of the profile. - * @throws IllegalStateException when the user is locked, or when the {@code user} user - * is locked or not running. * * @see ShortcutManager */ @@ -628,12 +630,13 @@ public class LauncherApps { *
The calling launcher application must be allowed to access the shortcut information, * as defined in {@link #hasShortcutHostPermission()}. * + *
Returns {@code null} when the user is locked, or when the user owning the shortcut + * is locked or not running. + * * @param density The preferred density of the icon, zero for default density. Use * density DPI values from {@link DisplayMetrics}. * * @return The drawable associated with the shortcut. - * @throws IllegalStateException when the user is locked, or when the {@code user} user - * is locked or not running. * * @see ShortcutManager * @see #getShortcutBadgedIconDrawable(ShortcutInfo, int) @@ -678,10 +681,11 @@ public class LauncherApps { *
The calling launcher application must be allowed to access the shortcut information, * as defined in {@link #hasShortcutHostPermission()}. * + *
Returns {@code 0} when the user is locked, or when the user owning the shortcut + * is locked or not running. + * * @param density Optional density for the icon, or 0 to use the default density. Use * @return A badged icon for the shortcut. - * @throws IllegalStateException when the user is locked, or when the {@code user} user - * is locked or not running. * * @see ShortcutManager * @see #getShortcutIconDrawable(ShortcutInfo, int) @@ -700,13 +704,15 @@ public class LauncherApps { *
The calling launcher application must be allowed to access the shortcut information, * as defined in {@link #hasShortcutHostPermission()}. * + *
Throws {@link android.content.ActivityNotFoundException} + * when the user is locked, or when the {@code user} user + * is locked or not running. + * * @param packageName The target shortcut package name. * @param shortcutId The target shortcut ID. * @param sourceBounds The Rect containing the source bounds of the clicked icon. * @param startActivityOptions Options to pass to startActivity. * @param user The UserHandle of the profile. - * @throws IllegalStateException when the user is locked, or when the {@code user} user - * is locked or not running. * * @throws android.content.ActivityNotFoundException failed to start shortcut. (e.g. * the shortcut no longer exists, is disabled, the intent receiver activity doesn't exist, etc) @@ -724,11 +730,13 @@ public class LauncherApps { *
The calling launcher application must be allowed to access the shortcut information, * as defined in {@link #hasShortcutHostPermission()}. * + *
Throws {@link android.content.ActivityNotFoundException}
+ * when the user is locked, or when the user owning the shortcut
+ * is locked or not running.
+ *
* @param shortcut The target shortcut.
* @param sourceBounds The Rect containing the source bounds of the clicked icon.
* @param startActivityOptions Options to pass to startActivity.
- * @throws IllegalStateException when the user is locked, or when the {@code user} user
- * is locked or not running.
*
* @throws android.content.ActivityNotFoundException failed to start shortcut. (e.g.
* the shortcut no longer exists, is disabled, the intent receiver activity doesn't exist, etc)
diff --git a/services/core/java/com/android/server/pm/ShortcutService.java b/services/core/java/com/android/server/pm/ShortcutService.java
index 02ad7c650e110..d875f1e97cac4 100644
--- a/services/core/java/com/android/server/pm/ShortcutService.java
+++ b/services/core/java/com/android/server/pm/ShortcutService.java
@@ -2170,9 +2170,9 @@ public class ShortcutService extends IShortcutService.Stub {
@Nullable ComponentName componentName,
int queryFlags, int userId) {
final ArrayList