Loading api/current.txt +7 −3 Original line number Original line Diff line number Diff line Loading @@ -9460,9 +9460,10 @@ package android.content.pm { public class LauncherApps { public class LauncherApps { method public java.util.List<android.content.pm.LauncherActivityInfo> getActivityList(java.lang.String, android.os.UserHandle); method public java.util.List<android.content.pm.LauncherActivityInfo> getActivityList(java.lang.String, android.os.UserHandle); method public android.content.pm.ApplicationInfo getApplicationInfo(java.lang.String, int, android.os.UserHandle); method public android.content.pm.ApplicationInfo getApplicationInfo(java.lang.String, int, android.os.UserHandle); method public android.os.ParcelFileDescriptor getShortcutIconFd(android.content.pm.ShortcutInfo, android.os.UserHandle); method public android.os.ParcelFileDescriptor getShortcutIconFd(android.content.pm.ShortcutInfo); method public int getShortcutIconResId(android.content.pm.ShortcutInfo, android.os.UserHandle); method public android.os.ParcelFileDescriptor getShortcutIconFd(java.lang.String, java.lang.String, android.os.UserHandle); method public java.util.List<android.content.pm.ShortcutInfo> getShortcutInfo(java.lang.String, java.util.List<java.lang.String>, android.os.UserHandle); method public int getShortcutIconResId(android.content.pm.ShortcutInfo); method public int getShortcutIconResId(java.lang.String, java.lang.String, android.os.UserHandle); method public java.util.List<android.content.pm.ShortcutInfo> getShortcuts(android.content.pm.LauncherApps.ShortcutQuery, android.os.UserHandle); method public java.util.List<android.content.pm.ShortcutInfo> getShortcuts(android.content.pm.LauncherApps.ShortcutQuery, android.os.UserHandle); method public boolean hasShortcutHostPermission(); method public boolean hasShortcutHostPermission(); method public boolean isActivityEnabled(android.content.ComponentName, android.os.UserHandle); method public boolean isActivityEnabled(android.content.ComponentName, android.os.UserHandle); Loading @@ -9474,6 +9475,7 @@ package android.content.pm { method public void startAppDetailsActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public void startAppDetailsActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public void startMainActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public void startMainActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public boolean startShortcut(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle); method public boolean startShortcut(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle); method public boolean startShortcut(android.content.pm.ShortcutInfo, android.graphics.Rect, android.os.Bundle); method public void unregisterCallback(android.content.pm.LauncherApps.Callback); method public void unregisterCallback(android.content.pm.LauncherApps.Callback); } } Loading @@ -9495,6 +9497,7 @@ package android.content.pm { method public void setChangedSince(long); method public void setChangedSince(long); method public void setPackage(java.lang.String); method public void setPackage(java.lang.String); method public void setQueryFlags(int); method public void setQueryFlags(int); method public void setShortcutIds(java.util.List<java.lang.String>); field public static final int FLAG_GET_DYNAMIC = 1; // 0x1 field public static final int FLAG_GET_DYNAMIC = 1; // 0x1 field public static final int FLAG_GET_KEY_FIELDS_ONLY = 4; // 0x4 field public static final int FLAG_GET_KEY_FIELDS_ONLY = 4; // 0x4 field public static final int FLAG_GET_PINNED = 2; // 0x2 field public static final int FLAG_GET_PINNED = 2; // 0x2 Loading Loading @@ -10008,6 +10011,7 @@ package android.content.pm { method public java.lang.String getPackageName(); method public java.lang.String getPackageName(); method public java.lang.String getText(); method public java.lang.String getText(); method public java.lang.String getTitle(); method public java.lang.String getTitle(); method public android.os.UserHandle getUserHandle(); method public int getWeight(); method public int getWeight(); method public boolean hasIconFile(); method public boolean hasIconFile(); method public boolean hasIconResource(); method public boolean hasIconResource(); api/system-current.txt +7 −3 Original line number Original line Diff line number Diff line Loading @@ -9797,9 +9797,10 @@ package android.content.pm { public class LauncherApps { public class LauncherApps { method public java.util.List<android.content.pm.LauncherActivityInfo> getActivityList(java.lang.String, android.os.UserHandle); method public java.util.List<android.content.pm.LauncherActivityInfo> getActivityList(java.lang.String, android.os.UserHandle); method public android.content.pm.ApplicationInfo getApplicationInfo(java.lang.String, int, android.os.UserHandle); method public android.content.pm.ApplicationInfo getApplicationInfo(java.lang.String, int, android.os.UserHandle); method public android.os.ParcelFileDescriptor getShortcutIconFd(android.content.pm.ShortcutInfo, android.os.UserHandle); method public android.os.ParcelFileDescriptor getShortcutIconFd(android.content.pm.ShortcutInfo); method public int getShortcutIconResId(android.content.pm.ShortcutInfo, android.os.UserHandle); method public android.os.ParcelFileDescriptor getShortcutIconFd(java.lang.String, java.lang.String, android.os.UserHandle); method public java.util.List<android.content.pm.ShortcutInfo> getShortcutInfo(java.lang.String, java.util.List<java.lang.String>, android.os.UserHandle); method public int getShortcutIconResId(android.content.pm.ShortcutInfo); method public int getShortcutIconResId(java.lang.String, java.lang.String, android.os.UserHandle); method public java.util.List<android.content.pm.ShortcutInfo> getShortcuts(android.content.pm.LauncherApps.ShortcutQuery, android.os.UserHandle); method public java.util.List<android.content.pm.ShortcutInfo> getShortcuts(android.content.pm.LauncherApps.ShortcutQuery, android.os.UserHandle); method public boolean hasShortcutHostPermission(); method public boolean hasShortcutHostPermission(); method public boolean isActivityEnabled(android.content.ComponentName, android.os.UserHandle); method public boolean isActivityEnabled(android.content.ComponentName, android.os.UserHandle); Loading @@ -9811,6 +9812,7 @@ package android.content.pm { method public void startAppDetailsActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public void startAppDetailsActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public void startMainActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public void startMainActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public boolean startShortcut(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle); method public boolean startShortcut(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle); method public boolean startShortcut(android.content.pm.ShortcutInfo, android.graphics.Rect, android.os.Bundle); method public void unregisterCallback(android.content.pm.LauncherApps.Callback); method public void unregisterCallback(android.content.pm.LauncherApps.Callback); } } Loading @@ -9832,6 +9834,7 @@ package android.content.pm { method public void setChangedSince(long); method public void setChangedSince(long); method public void setPackage(java.lang.String); method public void setPackage(java.lang.String); method public void setQueryFlags(int); method public void setQueryFlags(int); method public void setShortcutIds(java.util.List<java.lang.String>); field public static final int FLAG_GET_DYNAMIC = 1; // 0x1 field public static final int FLAG_GET_DYNAMIC = 1; // 0x1 field public static final int FLAG_GET_KEY_FIELDS_ONLY = 4; // 0x4 field public static final int FLAG_GET_KEY_FIELDS_ONLY = 4; // 0x4 field public static final int FLAG_GET_PINNED = 2; // 0x2 field public static final int FLAG_GET_PINNED = 2; // 0x2 Loading Loading @@ -10407,6 +10410,7 @@ package android.content.pm { method public java.lang.String getPackageName(); method public java.lang.String getPackageName(); method public java.lang.String getText(); method public java.lang.String getText(); method public java.lang.String getTitle(); method public java.lang.String getTitle(); method public android.os.UserHandle getUserHandle(); method public int getWeight(); method public int getWeight(); method public boolean hasIconFile(); method public boolean hasIconFile(); method public boolean hasIconResource(); method public boolean hasIconResource(); api/test-current.txt +7 −3 Original line number Original line Diff line number Diff line Loading @@ -9469,9 +9469,10 @@ package android.content.pm { public class LauncherApps { public class LauncherApps { method public java.util.List<android.content.pm.LauncherActivityInfo> getActivityList(java.lang.String, android.os.UserHandle); method public java.util.List<android.content.pm.LauncherActivityInfo> getActivityList(java.lang.String, android.os.UserHandle); method public android.content.pm.ApplicationInfo getApplicationInfo(java.lang.String, int, android.os.UserHandle); method public android.content.pm.ApplicationInfo getApplicationInfo(java.lang.String, int, android.os.UserHandle); method public android.os.ParcelFileDescriptor getShortcutIconFd(android.content.pm.ShortcutInfo, android.os.UserHandle); method public android.os.ParcelFileDescriptor getShortcutIconFd(android.content.pm.ShortcutInfo); method public int getShortcutIconResId(android.content.pm.ShortcutInfo, android.os.UserHandle); method public android.os.ParcelFileDescriptor getShortcutIconFd(java.lang.String, java.lang.String, android.os.UserHandle); method public java.util.List<android.content.pm.ShortcutInfo> getShortcutInfo(java.lang.String, java.util.List<java.lang.String>, android.os.UserHandle); method public int getShortcutIconResId(android.content.pm.ShortcutInfo); method public int getShortcutIconResId(java.lang.String, java.lang.String, android.os.UserHandle); method public java.util.List<android.content.pm.ShortcutInfo> getShortcuts(android.content.pm.LauncherApps.ShortcutQuery, android.os.UserHandle); method public java.util.List<android.content.pm.ShortcutInfo> getShortcuts(android.content.pm.LauncherApps.ShortcutQuery, android.os.UserHandle); method public boolean hasShortcutHostPermission(); method public boolean hasShortcutHostPermission(); method public boolean isActivityEnabled(android.content.ComponentName, android.os.UserHandle); method public boolean isActivityEnabled(android.content.ComponentName, android.os.UserHandle); Loading @@ -9483,6 +9484,7 @@ package android.content.pm { method public void startAppDetailsActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public void startAppDetailsActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public void startMainActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public void startMainActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public boolean startShortcut(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle); method public boolean startShortcut(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle); method public boolean startShortcut(android.content.pm.ShortcutInfo, android.graphics.Rect, android.os.Bundle); method public void unregisterCallback(android.content.pm.LauncherApps.Callback); method public void unregisterCallback(android.content.pm.LauncherApps.Callback); } } Loading @@ -9504,6 +9506,7 @@ package android.content.pm { method public void setChangedSince(long); method public void setChangedSince(long); method public void setPackage(java.lang.String); method public void setPackage(java.lang.String); method public void setQueryFlags(int); method public void setQueryFlags(int); method public void setShortcutIds(java.util.List<java.lang.String>); field public static final int FLAG_GET_DYNAMIC = 1; // 0x1 field public static final int FLAG_GET_DYNAMIC = 1; // 0x1 field public static final int FLAG_GET_KEY_FIELDS_ONLY = 4; // 0x4 field public static final int FLAG_GET_KEY_FIELDS_ONLY = 4; // 0x4 field public static final int FLAG_GET_PINNED = 2; // 0x2 field public static final int FLAG_GET_PINNED = 2; // 0x2 Loading Loading @@ -10018,6 +10021,7 @@ package android.content.pm { method public java.lang.String getPackageName(); method public java.lang.String getPackageName(); method public java.lang.String getText(); method public java.lang.String getText(); method public java.lang.String getTitle(); method public java.lang.String getTitle(); method public android.os.UserHandle getUserHandle(); method public int getWeight(); method public int getWeight(); method public boolean hasIconFile(); method public boolean hasIconFile(); method public boolean hasIconResource(); method public boolean hasIconResource(); core/java/android/content/pm/ILauncherApps.aidl +6 −7 Original line number Original line Diff line number Diff line Loading @@ -47,17 +47,16 @@ interface ILauncherApps { ApplicationInfo getApplicationInfo(String packageName, int flags, in UserHandle user); ApplicationInfo getApplicationInfo(String packageName, int flags, in UserHandle user); ParceledListSlice getShortcuts(String callingPackage, long changedSince, String packageName, ParceledListSlice getShortcuts(String callingPackage, long changedSince, String packageName, in ComponentName componentName, int flags, in UserHandle user); in List shortcutIds, in ComponentName componentName, int flags, in UserHandle user); ParceledListSlice getShortcutInfo(String callingPackage, String packageName, in List<String> ids, in UserHandle user); void pinShortcuts(String callingPackage, String packageName, in List<String> shortcutIds, void pinShortcuts(String callingPackage, String packageName, in List<String> shortcutIds, in UserHandle user); in UserHandle user); boolean startShortcut(String callingPackage, String packageName, String id, boolean startShortcut(String callingPackage, String packageName, String id, in Rect sourceBounds, in Bundle startActivityOptions, in UserHandle user); in Rect sourceBounds, in Bundle startActivityOptions, int userId); int getShortcutIconResId(String callingPackage, in ShortcutInfo shortcut, in UserHandle user); int getShortcutIconResId(String callingPackage, String packageName, String id, ParcelFileDescriptor getShortcutIconFd(String callingPackage, in ShortcutInfo shortcut, int userId); in UserHandle user); ParcelFileDescriptor getShortcutIconFd(String callingPackage, String packageName, String id, int userId); boolean hasShortcutHostPermission(String callingPackage); boolean hasShortcutHostPermission(String callingPackage); } } core/java/android/content/pm/LauncherApps.java +94 −23 Original line number Original line Diff line number Diff line Loading @@ -204,6 +204,9 @@ public class LauncherApps { @Nullable @Nullable String mPackage; String mPackage; @Nullable List<String> mShortcutIds; @Nullable @Nullable ComponentName mActivity; ComponentName mActivity; Loading @@ -228,6 +231,14 @@ public class LauncherApps { mPackage = packageName; mPackage = packageName; } } /** * If non-null, return only the specified shortcuts by ID. When setting this field, * a packange name must also be set with {@link #setPackage}. */ public void setShortcutIds(@Nullable List<String> shortcutIds) { mShortcutIds = shortcutIds; } /** /** * If non-null, returns only shortcuts associated with the activity. * If non-null, returns only shortcuts associated with the activity. */ */ Loading Loading @@ -429,7 +440,8 @@ public class LauncherApps { @NonNull UserHandle user) { @NonNull UserHandle user) { try { try { return mService.getShortcuts(mContext.getPackageName(), return mService.getShortcuts(mContext.getPackageName(), query.mChangedSince, query.mPackage, query.mActivity, query.mQueryFlags, user) query.mChangedSince, query.mPackage, query.mShortcutIds, query.mActivity, query.mQueryFlags, user) .getList(); .getList(); } catch (RemoteException e) { } catch (RemoteException e) { throw e.rethrowFromSystemServer(); throw e.rethrowFromSystemServer(); Loading @@ -437,28 +449,17 @@ public class LauncherApps { } } /** /** * Returns {@link ShortcutInfo}s with the given IDs from a package. * @hide // No longer used. Use getShortcuts() instead. Kept for unit tests. * * <p>Callers must be allowed to access the shortcut information, as defined in {@link * #hasShortcutHostPermission()}. * * @param packageName The target package. * @param ids IDs of the shortcuts to retrieve. * @param user The UserHandle of the profile. * * @return list of {@link ShortcutInfo} associated with the package. */ */ @Nullable @Nullable public List<ShortcutInfo> getShortcutInfo(@NonNull String packageName, public List<ShortcutInfo> getShortcutInfo(@NonNull String packageName, @NonNull List<String> ids, @NonNull UserHandle user) { @NonNull List<String> ids, @NonNull UserHandle user) { try { final ShortcutQuery q = new ShortcutQuery(); return mService.getShortcutInfo(mContext.getPackageName(), packageName, ids, user) q.setPackage(packageName); .getList(); q.setShortcutIds(ids); } catch (RemoteException e) { q.setQueryFlags(ShortcutQuery.FLAG_GET_DYNAMIC | ShortcutQuery.FLAG_GET_PINNED); throw e.rethrowFromSystemServer(); return getShortcuts(q, user); } } } /** /** * Pin shortcuts on a package. * Pin shortcuts on a package. Loading Loading @@ -490,11 +491,33 @@ public class LauncherApps { * #hasShortcutHostPermission()}. * #hasShortcutHostPermission()}. * * * @param shortcut The target shortcut. * @param shortcut The target shortcut. */ public int getShortcutIconResId(@NonNull ShortcutInfo shortcut) { return getShortcutIconResId(shortcut.getPackageName(), shortcut.getId(), shortcut.getUserId()); } /** * Return the icon resource ID, if {@code shortcut} has one * (i.e. when {@link ShortcutInfo#hasIconResource()} returns {@code true}). * * <p>Callers must be allowed to access the shortcut information, as defined in {@link * #hasShortcutHostPermission()}. * * @param packageName The target package name. * @param shortcutId The ID of the shortcut to lad rom. * @param user The UserHandle of the profile. * @param user The UserHandle of the profile. */ */ public int getShortcutIconResId(@NonNull ShortcutInfo shortcut, @NonNull UserHandle user) { public int getShortcutIconResId(@NonNull String packageName, @NonNull String shortcutId, @NonNull UserHandle user) { return getShortcutIconResId(packageName, shortcutId, user.getIdentifier()); } private int getShortcutIconResId(@NonNull String packageName, @NonNull String shortcutId, int userId) { try { try { return mService.getShortcutIconResId(mContext.getPackageName(), shortcut, user); return mService.getShortcutIconResId(mContext.getPackageName(), packageName, shortcutId, userId); } catch (RemoteException e) { } catch (RemoteException e) { throw e.rethrowFromSystemServer(); throw e.rethrowFromSystemServer(); } } Loading @@ -508,12 +531,34 @@ public class LauncherApps { * #hasShortcutHostPermission()}. * #hasShortcutHostPermission()}. * * * @param shortcut The target shortcut. * @param shortcut The target shortcut. */ public ParcelFileDescriptor getShortcutIconFd( @NonNull ShortcutInfo shortcut) { return getShortcutIconFd(shortcut.getPackageName(), shortcut.getId(), shortcut.getUserId()); } /** * Return the icon as {@link ParcelFileDescriptor}, when it's stored as a file * (i.e. when {@link ShortcutInfo#hasIconFile()} returns {@code true}). * * <p>Callers must be allowed to access the shortcut information, as defined in {@link * #hasShortcutHostPermission()}. * * @param packageName The target package name. * @param shortcutId The ID of the shortcut to lad rom. * @param user The UserHandle of the profile. * @param user The UserHandle of the profile. */ */ public ParcelFileDescriptor getShortcutIconFd( public ParcelFileDescriptor getShortcutIconFd( @NonNull ShortcutInfo shortcut, @NonNull UserHandle user) { @NonNull String packageName, @NonNull String shortcutId, @NonNull UserHandle user) { return getShortcutIconFd(packageName, shortcutId, user.getIdentifier()); } private ParcelFileDescriptor getShortcutIconFd( @NonNull String packageName, @NonNull String shortcutId, int userId) { try { try { return mService.getShortcutIconFd(mContext.getPackageName(), shortcut, user); return mService.getShortcutIconFd(mContext.getPackageName(), packageName, shortcutId, userId); } catch (RemoteException e) { } catch (RemoteException e) { throw e.rethrowFromSystemServer(); throw e.rethrowFromSystemServer(); } } Loading @@ -536,9 +581,35 @@ public class LauncherApps { public boolean startShortcut(@NonNull String packageName, @NonNull String shortcutId, public boolean startShortcut(@NonNull String packageName, @NonNull String shortcutId, @Nullable Rect sourceBounds, @Nullable Bundle startActivityOptions, @Nullable Rect sourceBounds, @Nullable Bundle startActivityOptions, @NonNull UserHandle user) { @NonNull UserHandle user) { return startShortcut(packageName, shortcutId, sourceBounds, startActivityOptions, user.getIdentifier()); } /** * Launches a shortcut. * * <p>Callers must be allowed to access the shortcut information, as defined in {@link * #hasShortcutHostPermission()}. * * @param shortcut The target shortcut. * @param sourceBounds The Rect containing the source bounds of the clicked icon. * @param startActivityOptions Options to pass to startActivity. * @return {@code false} when the shortcut is no longer valid (e.g. the creator application * has been uninstalled). {@code true} when the shortcut is still valid. */ public boolean startShortcut(@NonNull ShortcutInfo shortcut, @Nullable Rect sourceBounds, @Nullable Bundle startActivityOptions) { return startShortcut(shortcut.getPackageName(), shortcut.getId(), sourceBounds, startActivityOptions, shortcut.getUserId()); } private boolean startShortcut(@NonNull String packageName, @NonNull String shortcutId, @Nullable Rect sourceBounds, @Nullable Bundle startActivityOptions, int userId) { try { try { return mService.startShortcut(mContext.getPackageName(), packageName, shortcutId, return mService.startShortcut(mContext.getPackageName(), packageName, shortcutId, sourceBounds, startActivityOptions, user); sourceBounds, startActivityOptions, userId); } catch (RemoteException e) { } catch (RemoteException e) { throw e.rethrowFromSystemServer(); throw e.rethrowFromSystemServer(); } } Loading Loading
api/current.txt +7 −3 Original line number Original line Diff line number Diff line Loading @@ -9460,9 +9460,10 @@ package android.content.pm { public class LauncherApps { public class LauncherApps { method public java.util.List<android.content.pm.LauncherActivityInfo> getActivityList(java.lang.String, android.os.UserHandle); method public java.util.List<android.content.pm.LauncherActivityInfo> getActivityList(java.lang.String, android.os.UserHandle); method public android.content.pm.ApplicationInfo getApplicationInfo(java.lang.String, int, android.os.UserHandle); method public android.content.pm.ApplicationInfo getApplicationInfo(java.lang.String, int, android.os.UserHandle); method public android.os.ParcelFileDescriptor getShortcutIconFd(android.content.pm.ShortcutInfo, android.os.UserHandle); method public android.os.ParcelFileDescriptor getShortcutIconFd(android.content.pm.ShortcutInfo); method public int getShortcutIconResId(android.content.pm.ShortcutInfo, android.os.UserHandle); method public android.os.ParcelFileDescriptor getShortcutIconFd(java.lang.String, java.lang.String, android.os.UserHandle); method public java.util.List<android.content.pm.ShortcutInfo> getShortcutInfo(java.lang.String, java.util.List<java.lang.String>, android.os.UserHandle); method public int getShortcutIconResId(android.content.pm.ShortcutInfo); method public int getShortcutIconResId(java.lang.String, java.lang.String, android.os.UserHandle); method public java.util.List<android.content.pm.ShortcutInfo> getShortcuts(android.content.pm.LauncherApps.ShortcutQuery, android.os.UserHandle); method public java.util.List<android.content.pm.ShortcutInfo> getShortcuts(android.content.pm.LauncherApps.ShortcutQuery, android.os.UserHandle); method public boolean hasShortcutHostPermission(); method public boolean hasShortcutHostPermission(); method public boolean isActivityEnabled(android.content.ComponentName, android.os.UserHandle); method public boolean isActivityEnabled(android.content.ComponentName, android.os.UserHandle); Loading @@ -9474,6 +9475,7 @@ package android.content.pm { method public void startAppDetailsActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public void startAppDetailsActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public void startMainActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public void startMainActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public boolean startShortcut(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle); method public boolean startShortcut(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle); method public boolean startShortcut(android.content.pm.ShortcutInfo, android.graphics.Rect, android.os.Bundle); method public void unregisterCallback(android.content.pm.LauncherApps.Callback); method public void unregisterCallback(android.content.pm.LauncherApps.Callback); } } Loading @@ -9495,6 +9497,7 @@ package android.content.pm { method public void setChangedSince(long); method public void setChangedSince(long); method public void setPackage(java.lang.String); method public void setPackage(java.lang.String); method public void setQueryFlags(int); method public void setQueryFlags(int); method public void setShortcutIds(java.util.List<java.lang.String>); field public static final int FLAG_GET_DYNAMIC = 1; // 0x1 field public static final int FLAG_GET_DYNAMIC = 1; // 0x1 field public static final int FLAG_GET_KEY_FIELDS_ONLY = 4; // 0x4 field public static final int FLAG_GET_KEY_FIELDS_ONLY = 4; // 0x4 field public static final int FLAG_GET_PINNED = 2; // 0x2 field public static final int FLAG_GET_PINNED = 2; // 0x2 Loading Loading @@ -10008,6 +10011,7 @@ package android.content.pm { method public java.lang.String getPackageName(); method public java.lang.String getPackageName(); method public java.lang.String getText(); method public java.lang.String getText(); method public java.lang.String getTitle(); method public java.lang.String getTitle(); method public android.os.UserHandle getUserHandle(); method public int getWeight(); method public int getWeight(); method public boolean hasIconFile(); method public boolean hasIconFile(); method public boolean hasIconResource(); method public boolean hasIconResource();
api/system-current.txt +7 −3 Original line number Original line Diff line number Diff line Loading @@ -9797,9 +9797,10 @@ package android.content.pm { public class LauncherApps { public class LauncherApps { method public java.util.List<android.content.pm.LauncherActivityInfo> getActivityList(java.lang.String, android.os.UserHandle); method public java.util.List<android.content.pm.LauncherActivityInfo> getActivityList(java.lang.String, android.os.UserHandle); method public android.content.pm.ApplicationInfo getApplicationInfo(java.lang.String, int, android.os.UserHandle); method public android.content.pm.ApplicationInfo getApplicationInfo(java.lang.String, int, android.os.UserHandle); method public android.os.ParcelFileDescriptor getShortcutIconFd(android.content.pm.ShortcutInfo, android.os.UserHandle); method public android.os.ParcelFileDescriptor getShortcutIconFd(android.content.pm.ShortcutInfo); method public int getShortcutIconResId(android.content.pm.ShortcutInfo, android.os.UserHandle); method public android.os.ParcelFileDescriptor getShortcutIconFd(java.lang.String, java.lang.String, android.os.UserHandle); method public java.util.List<android.content.pm.ShortcutInfo> getShortcutInfo(java.lang.String, java.util.List<java.lang.String>, android.os.UserHandle); method public int getShortcutIconResId(android.content.pm.ShortcutInfo); method public int getShortcutIconResId(java.lang.String, java.lang.String, android.os.UserHandle); method public java.util.List<android.content.pm.ShortcutInfo> getShortcuts(android.content.pm.LauncherApps.ShortcutQuery, android.os.UserHandle); method public java.util.List<android.content.pm.ShortcutInfo> getShortcuts(android.content.pm.LauncherApps.ShortcutQuery, android.os.UserHandle); method public boolean hasShortcutHostPermission(); method public boolean hasShortcutHostPermission(); method public boolean isActivityEnabled(android.content.ComponentName, android.os.UserHandle); method public boolean isActivityEnabled(android.content.ComponentName, android.os.UserHandle); Loading @@ -9811,6 +9812,7 @@ package android.content.pm { method public void startAppDetailsActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public void startAppDetailsActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public void startMainActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public void startMainActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public boolean startShortcut(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle); method public boolean startShortcut(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle); method public boolean startShortcut(android.content.pm.ShortcutInfo, android.graphics.Rect, android.os.Bundle); method public void unregisterCallback(android.content.pm.LauncherApps.Callback); method public void unregisterCallback(android.content.pm.LauncherApps.Callback); } } Loading @@ -9832,6 +9834,7 @@ package android.content.pm { method public void setChangedSince(long); method public void setChangedSince(long); method public void setPackage(java.lang.String); method public void setPackage(java.lang.String); method public void setQueryFlags(int); method public void setQueryFlags(int); method public void setShortcutIds(java.util.List<java.lang.String>); field public static final int FLAG_GET_DYNAMIC = 1; // 0x1 field public static final int FLAG_GET_DYNAMIC = 1; // 0x1 field public static final int FLAG_GET_KEY_FIELDS_ONLY = 4; // 0x4 field public static final int FLAG_GET_KEY_FIELDS_ONLY = 4; // 0x4 field public static final int FLAG_GET_PINNED = 2; // 0x2 field public static final int FLAG_GET_PINNED = 2; // 0x2 Loading Loading @@ -10407,6 +10410,7 @@ package android.content.pm { method public java.lang.String getPackageName(); method public java.lang.String getPackageName(); method public java.lang.String getText(); method public java.lang.String getText(); method public java.lang.String getTitle(); method public java.lang.String getTitle(); method public android.os.UserHandle getUserHandle(); method public int getWeight(); method public int getWeight(); method public boolean hasIconFile(); method public boolean hasIconFile(); method public boolean hasIconResource(); method public boolean hasIconResource();
api/test-current.txt +7 −3 Original line number Original line Diff line number Diff line Loading @@ -9469,9 +9469,10 @@ package android.content.pm { public class LauncherApps { public class LauncherApps { method public java.util.List<android.content.pm.LauncherActivityInfo> getActivityList(java.lang.String, android.os.UserHandle); method public java.util.List<android.content.pm.LauncherActivityInfo> getActivityList(java.lang.String, android.os.UserHandle); method public android.content.pm.ApplicationInfo getApplicationInfo(java.lang.String, int, android.os.UserHandle); method public android.content.pm.ApplicationInfo getApplicationInfo(java.lang.String, int, android.os.UserHandle); method public android.os.ParcelFileDescriptor getShortcutIconFd(android.content.pm.ShortcutInfo, android.os.UserHandle); method public android.os.ParcelFileDescriptor getShortcutIconFd(android.content.pm.ShortcutInfo); method public int getShortcutIconResId(android.content.pm.ShortcutInfo, android.os.UserHandle); method public android.os.ParcelFileDescriptor getShortcutIconFd(java.lang.String, java.lang.String, android.os.UserHandle); method public java.util.List<android.content.pm.ShortcutInfo> getShortcutInfo(java.lang.String, java.util.List<java.lang.String>, android.os.UserHandle); method public int getShortcutIconResId(android.content.pm.ShortcutInfo); method public int getShortcutIconResId(java.lang.String, java.lang.String, android.os.UserHandle); method public java.util.List<android.content.pm.ShortcutInfo> getShortcuts(android.content.pm.LauncherApps.ShortcutQuery, android.os.UserHandle); method public java.util.List<android.content.pm.ShortcutInfo> getShortcuts(android.content.pm.LauncherApps.ShortcutQuery, android.os.UserHandle); method public boolean hasShortcutHostPermission(); method public boolean hasShortcutHostPermission(); method public boolean isActivityEnabled(android.content.ComponentName, android.os.UserHandle); method public boolean isActivityEnabled(android.content.ComponentName, android.os.UserHandle); Loading @@ -9483,6 +9484,7 @@ package android.content.pm { method public void startAppDetailsActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public void startAppDetailsActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public void startMainActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public void startMainActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle); method public boolean startShortcut(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle); method public boolean startShortcut(java.lang.String, java.lang.String, android.graphics.Rect, android.os.Bundle, android.os.UserHandle); method public boolean startShortcut(android.content.pm.ShortcutInfo, android.graphics.Rect, android.os.Bundle); method public void unregisterCallback(android.content.pm.LauncherApps.Callback); method public void unregisterCallback(android.content.pm.LauncherApps.Callback); } } Loading @@ -9504,6 +9506,7 @@ package android.content.pm { method public void setChangedSince(long); method public void setChangedSince(long); method public void setPackage(java.lang.String); method public void setPackage(java.lang.String); method public void setQueryFlags(int); method public void setQueryFlags(int); method public void setShortcutIds(java.util.List<java.lang.String>); field public static final int FLAG_GET_DYNAMIC = 1; // 0x1 field public static final int FLAG_GET_DYNAMIC = 1; // 0x1 field public static final int FLAG_GET_KEY_FIELDS_ONLY = 4; // 0x4 field public static final int FLAG_GET_KEY_FIELDS_ONLY = 4; // 0x4 field public static final int FLAG_GET_PINNED = 2; // 0x2 field public static final int FLAG_GET_PINNED = 2; // 0x2 Loading Loading @@ -10018,6 +10021,7 @@ package android.content.pm { method public java.lang.String getPackageName(); method public java.lang.String getPackageName(); method public java.lang.String getText(); method public java.lang.String getText(); method public java.lang.String getTitle(); method public java.lang.String getTitle(); method public android.os.UserHandle getUserHandle(); method public int getWeight(); method public int getWeight(); method public boolean hasIconFile(); method public boolean hasIconFile(); method public boolean hasIconResource(); method public boolean hasIconResource();
core/java/android/content/pm/ILauncherApps.aidl +6 −7 Original line number Original line Diff line number Diff line Loading @@ -47,17 +47,16 @@ interface ILauncherApps { ApplicationInfo getApplicationInfo(String packageName, int flags, in UserHandle user); ApplicationInfo getApplicationInfo(String packageName, int flags, in UserHandle user); ParceledListSlice getShortcuts(String callingPackage, long changedSince, String packageName, ParceledListSlice getShortcuts(String callingPackage, long changedSince, String packageName, in ComponentName componentName, int flags, in UserHandle user); in List shortcutIds, in ComponentName componentName, int flags, in UserHandle user); ParceledListSlice getShortcutInfo(String callingPackage, String packageName, in List<String> ids, in UserHandle user); void pinShortcuts(String callingPackage, String packageName, in List<String> shortcutIds, void pinShortcuts(String callingPackage, String packageName, in List<String> shortcutIds, in UserHandle user); in UserHandle user); boolean startShortcut(String callingPackage, String packageName, String id, boolean startShortcut(String callingPackage, String packageName, String id, in Rect sourceBounds, in Bundle startActivityOptions, in UserHandle user); in Rect sourceBounds, in Bundle startActivityOptions, int userId); int getShortcutIconResId(String callingPackage, in ShortcutInfo shortcut, in UserHandle user); int getShortcutIconResId(String callingPackage, String packageName, String id, ParcelFileDescriptor getShortcutIconFd(String callingPackage, in ShortcutInfo shortcut, int userId); in UserHandle user); ParcelFileDescriptor getShortcutIconFd(String callingPackage, String packageName, String id, int userId); boolean hasShortcutHostPermission(String callingPackage); boolean hasShortcutHostPermission(String callingPackage); } }
core/java/android/content/pm/LauncherApps.java +94 −23 Original line number Original line Diff line number Diff line Loading @@ -204,6 +204,9 @@ public class LauncherApps { @Nullable @Nullable String mPackage; String mPackage; @Nullable List<String> mShortcutIds; @Nullable @Nullable ComponentName mActivity; ComponentName mActivity; Loading @@ -228,6 +231,14 @@ public class LauncherApps { mPackage = packageName; mPackage = packageName; } } /** * If non-null, return only the specified shortcuts by ID. When setting this field, * a packange name must also be set with {@link #setPackage}. */ public void setShortcutIds(@Nullable List<String> shortcutIds) { mShortcutIds = shortcutIds; } /** /** * If non-null, returns only shortcuts associated with the activity. * If non-null, returns only shortcuts associated with the activity. */ */ Loading Loading @@ -429,7 +440,8 @@ public class LauncherApps { @NonNull UserHandle user) { @NonNull UserHandle user) { try { try { return mService.getShortcuts(mContext.getPackageName(), return mService.getShortcuts(mContext.getPackageName(), query.mChangedSince, query.mPackage, query.mActivity, query.mQueryFlags, user) query.mChangedSince, query.mPackage, query.mShortcutIds, query.mActivity, query.mQueryFlags, user) .getList(); .getList(); } catch (RemoteException e) { } catch (RemoteException e) { throw e.rethrowFromSystemServer(); throw e.rethrowFromSystemServer(); Loading @@ -437,28 +449,17 @@ public class LauncherApps { } } /** /** * Returns {@link ShortcutInfo}s with the given IDs from a package. * @hide // No longer used. Use getShortcuts() instead. Kept for unit tests. * * <p>Callers must be allowed to access the shortcut information, as defined in {@link * #hasShortcutHostPermission()}. * * @param packageName The target package. * @param ids IDs of the shortcuts to retrieve. * @param user The UserHandle of the profile. * * @return list of {@link ShortcutInfo} associated with the package. */ */ @Nullable @Nullable public List<ShortcutInfo> getShortcutInfo(@NonNull String packageName, public List<ShortcutInfo> getShortcutInfo(@NonNull String packageName, @NonNull List<String> ids, @NonNull UserHandle user) { @NonNull List<String> ids, @NonNull UserHandle user) { try { final ShortcutQuery q = new ShortcutQuery(); return mService.getShortcutInfo(mContext.getPackageName(), packageName, ids, user) q.setPackage(packageName); .getList(); q.setShortcutIds(ids); } catch (RemoteException e) { q.setQueryFlags(ShortcutQuery.FLAG_GET_DYNAMIC | ShortcutQuery.FLAG_GET_PINNED); throw e.rethrowFromSystemServer(); return getShortcuts(q, user); } } } /** /** * Pin shortcuts on a package. * Pin shortcuts on a package. Loading Loading @@ -490,11 +491,33 @@ public class LauncherApps { * #hasShortcutHostPermission()}. * #hasShortcutHostPermission()}. * * * @param shortcut The target shortcut. * @param shortcut The target shortcut. */ public int getShortcutIconResId(@NonNull ShortcutInfo shortcut) { return getShortcutIconResId(shortcut.getPackageName(), shortcut.getId(), shortcut.getUserId()); } /** * Return the icon resource ID, if {@code shortcut} has one * (i.e. when {@link ShortcutInfo#hasIconResource()} returns {@code true}). * * <p>Callers must be allowed to access the shortcut information, as defined in {@link * #hasShortcutHostPermission()}. * * @param packageName The target package name. * @param shortcutId The ID of the shortcut to lad rom. * @param user The UserHandle of the profile. * @param user The UserHandle of the profile. */ */ public int getShortcutIconResId(@NonNull ShortcutInfo shortcut, @NonNull UserHandle user) { public int getShortcutIconResId(@NonNull String packageName, @NonNull String shortcutId, @NonNull UserHandle user) { return getShortcutIconResId(packageName, shortcutId, user.getIdentifier()); } private int getShortcutIconResId(@NonNull String packageName, @NonNull String shortcutId, int userId) { try { try { return mService.getShortcutIconResId(mContext.getPackageName(), shortcut, user); return mService.getShortcutIconResId(mContext.getPackageName(), packageName, shortcutId, userId); } catch (RemoteException e) { } catch (RemoteException e) { throw e.rethrowFromSystemServer(); throw e.rethrowFromSystemServer(); } } Loading @@ -508,12 +531,34 @@ public class LauncherApps { * #hasShortcutHostPermission()}. * #hasShortcutHostPermission()}. * * * @param shortcut The target shortcut. * @param shortcut The target shortcut. */ public ParcelFileDescriptor getShortcutIconFd( @NonNull ShortcutInfo shortcut) { return getShortcutIconFd(shortcut.getPackageName(), shortcut.getId(), shortcut.getUserId()); } /** * Return the icon as {@link ParcelFileDescriptor}, when it's stored as a file * (i.e. when {@link ShortcutInfo#hasIconFile()} returns {@code true}). * * <p>Callers must be allowed to access the shortcut information, as defined in {@link * #hasShortcutHostPermission()}. * * @param packageName The target package name. * @param shortcutId The ID of the shortcut to lad rom. * @param user The UserHandle of the profile. * @param user The UserHandle of the profile. */ */ public ParcelFileDescriptor getShortcutIconFd( public ParcelFileDescriptor getShortcutIconFd( @NonNull ShortcutInfo shortcut, @NonNull UserHandle user) { @NonNull String packageName, @NonNull String shortcutId, @NonNull UserHandle user) { return getShortcutIconFd(packageName, shortcutId, user.getIdentifier()); } private ParcelFileDescriptor getShortcutIconFd( @NonNull String packageName, @NonNull String shortcutId, int userId) { try { try { return mService.getShortcutIconFd(mContext.getPackageName(), shortcut, user); return mService.getShortcutIconFd(mContext.getPackageName(), packageName, shortcutId, userId); } catch (RemoteException e) { } catch (RemoteException e) { throw e.rethrowFromSystemServer(); throw e.rethrowFromSystemServer(); } } Loading @@ -536,9 +581,35 @@ public class LauncherApps { public boolean startShortcut(@NonNull String packageName, @NonNull String shortcutId, public boolean startShortcut(@NonNull String packageName, @NonNull String shortcutId, @Nullable Rect sourceBounds, @Nullable Bundle startActivityOptions, @Nullable Rect sourceBounds, @Nullable Bundle startActivityOptions, @NonNull UserHandle user) { @NonNull UserHandle user) { return startShortcut(packageName, shortcutId, sourceBounds, startActivityOptions, user.getIdentifier()); } /** * Launches a shortcut. * * <p>Callers must be allowed to access the shortcut information, as defined in {@link * #hasShortcutHostPermission()}. * * @param shortcut The target shortcut. * @param sourceBounds The Rect containing the source bounds of the clicked icon. * @param startActivityOptions Options to pass to startActivity. * @return {@code false} when the shortcut is no longer valid (e.g. the creator application * has been uninstalled). {@code true} when the shortcut is still valid. */ public boolean startShortcut(@NonNull ShortcutInfo shortcut, @Nullable Rect sourceBounds, @Nullable Bundle startActivityOptions) { return startShortcut(shortcut.getPackageName(), shortcut.getId(), sourceBounds, startActivityOptions, shortcut.getUserId()); } private boolean startShortcut(@NonNull String packageName, @NonNull String shortcutId, @Nullable Rect sourceBounds, @Nullable Bundle startActivityOptions, int userId) { try { try { return mService.startShortcut(mContext.getPackageName(), packageName, shortcutId, return mService.startShortcut(mContext.getPackageName(), packageName, shortcutId, sourceBounds, startActivityOptions, user); sourceBounds, startActivityOptions, userId); } catch (RemoteException e) { } catch (RemoteException e) { throw e.rethrowFromSystemServer(); throw e.rethrowFromSystemServer(); } } Loading