Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 685091f2 authored by Makoto Onuki's avatar Makoto Onuki Committed by android-build-merger
Browse files

Revert \\"LauncherApps should also throw when user is locked\\" am: 2ec16b08

am: e330d59c

Change-Id: I18070a0a1a69ab8ba366cef5295f09ac598c5e9f
parents 0b71bcb1 e330d59c
Loading
Loading
Loading
Loading
+21 −13
Original line number Original line Diff line number Diff line
@@ -492,7 +492,7 @@ public class LauncherApps {
     * If the calling launcher application contains pinned shortcuts, they will still work,
     * If the calling launcher application contains pinned shortcuts, they will still work,
     * even though the caller no longer has the shortcut host permission.
     * even though the caller no longer has the shortcut host permission.
     *
     *
     * @throws IllegalStateException when the user is locked.
     * <p>Returns {@code false} when the user is locked.
     *
     *
     * @see ShortcutManager
     * @see ShortcutManager
     */
     */
@@ -510,12 +510,13 @@ public class LauncherApps {
     * <p>Callers must be allowed to access the shortcut information, as defined in {@link
     * <p>Callers must be allowed to access the shortcut information, as defined in {@link
     * #hasShortcutHostPermission()}.
     * #hasShortcutHostPermission()}.
     *
     *
     * <p>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 query result includes shortcuts matching this query.
     * @param user The UserHandle of the profile.
     * @param user The UserHandle of the profile.
     *
     *
     * @return the IDs of {@link ShortcutInfo}s that match the query.
     * @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
     * @see ShortcutManager
     */
     */
@@ -555,11 +556,12 @@ public class LauncherApps {
     * <p>The calling launcher application must be allowed to access the shortcut information,
     * <p>The calling launcher application must be allowed to access the shortcut information,
     * as defined in {@link #hasShortcutHostPermission()}.
     * as defined in {@link #hasShortcutHostPermission()}.
     *
     *
     * <p>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 packageName The target package name.
     * @param shortcutIds The IDs of the shortcut to be pinned.
     * @param shortcutIds The IDs of the shortcut to be pinned.
     * @param user The UserHandle of the profile.
     * @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
     * @see ShortcutManager
     */
     */
@@ -628,12 +630,13 @@ public class LauncherApps {
     * <p>The calling launcher application must be allowed to access the shortcut information,
     * <p>The calling launcher application must be allowed to access the shortcut information,
     * as defined in {@link #hasShortcutHostPermission()}.
     * as defined in {@link #hasShortcutHostPermission()}.
     *
     *
     * <p>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
     * @param density The preferred density of the icon, zero for default density. Use
     * density DPI values from {@link DisplayMetrics}.
     * density DPI values from {@link DisplayMetrics}.
     *
     *
     * @return The drawable associated with the shortcut.
     * @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 ShortcutManager
     * @see #getShortcutBadgedIconDrawable(ShortcutInfo, int)
     * @see #getShortcutBadgedIconDrawable(ShortcutInfo, int)
@@ -678,10 +681,11 @@ public class LauncherApps {
     * <p>The calling launcher application must be allowed to access the shortcut information,
     * <p>The calling launcher application must be allowed to access the shortcut information,
     * as defined in {@link #hasShortcutHostPermission()}.
     * as defined in {@link #hasShortcutHostPermission()}.
     *
     *
     * <p>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
     * @param density Optional density for the icon, or 0 to use the default density. Use
     * @return A badged icon for the shortcut.
     * @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 ShortcutManager
     * @see #getShortcutIconDrawable(ShortcutInfo, int)
     * @see #getShortcutIconDrawable(ShortcutInfo, int)
@@ -700,13 +704,15 @@ public class LauncherApps {
     * <p>The calling launcher application must be allowed to access the shortcut information,
     * <p>The calling launcher application must be allowed to access the shortcut information,
     * as defined in {@link #hasShortcutHostPermission()}.
     * as defined in {@link #hasShortcutHostPermission()}.
     *
     *
     * <p>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 packageName The target shortcut package name.
     * @param shortcutId The target shortcut ID.
     * @param shortcutId The target shortcut ID.
     * @param sourceBounds The Rect containing the source bounds of the clicked icon.
     * @param sourceBounds The Rect containing the source bounds of the clicked icon.
     * @param startActivityOptions Options to pass to startActivity.
     * @param startActivityOptions Options to pass to startActivity.
     * @param user The UserHandle of the profile.
     * @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.
     * @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)
     * the shortcut no longer exists, is disabled, the intent receiver activity doesn't exist, etc)
@@ -724,11 +730,13 @@ public class LauncherApps {
     * <p>The calling launcher application must be allowed to access the shortcut information,
     * <p>The calling launcher application must be allowed to access the shortcut information,
     * as defined in {@link #hasShortcutHostPermission()}.
     * as defined in {@link #hasShortcutHostPermission()}.
     *
     *
     * <p>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 shortcut The target shortcut.
     * @param sourceBounds The Rect containing the source bounds of the clicked icon.
     * @param sourceBounds The Rect containing the source bounds of the clicked icon.
     * @param startActivityOptions Options to pass to startActivity.
     * @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.
     * @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)
     * the shortcut no longer exists, is disabled, the intent receiver activity doesn't exist, etc)
+24 −16
Original line number Original line Diff line number Diff line
@@ -2170,9 +2170,9 @@ public class ShortcutService extends IShortcutService.Stub {
                @Nullable ComponentName componentName,
                @Nullable ComponentName componentName,
                int queryFlags, int userId) {
                int queryFlags, int userId) {
            final ArrayList<ShortcutInfo> ret = new ArrayList<>();
            final ArrayList<ShortcutInfo> ret = new ArrayList<>();

            if (!isUserUnlocked(userId) || !isUserUnlocked(launcherUserId)) {
            throwIfUserLocked(userId);
                return ret;
            throwIfUserLocked(launcherUserId);
            }


            final boolean cloneKeyFieldOnly =
            final boolean cloneKeyFieldOnly =
                    ((queryFlags & ShortcutQuery.FLAG_GET_KEY_FIELDS_ONLY) != 0);
                    ((queryFlags & ShortcutQuery.FLAG_GET_KEY_FIELDS_ONLY) != 0);
@@ -2251,8 +2251,9 @@ public class ShortcutService extends IShortcutService.Stub {
            Preconditions.checkStringNotEmpty(packageName, "packageName");
            Preconditions.checkStringNotEmpty(packageName, "packageName");
            Preconditions.checkStringNotEmpty(shortcutId, "shortcutId");
            Preconditions.checkStringNotEmpty(shortcutId, "shortcutId");


            throwIfUserLocked(userId);
            if (!isUserUnlocked(userId) || !isUserUnlocked(launcherUserId)) {
            throwIfUserLocked(launcherUserId);
                return false;
            }


            synchronized (mLock) {
            synchronized (mLock) {
                getLauncherShortcutsLocked(callingPackage, userId, launcherUserId)
                getLauncherShortcutsLocked(callingPackage, userId, launcherUserId)
@@ -2270,8 +2271,9 @@ public class ShortcutService extends IShortcutService.Stub {
            Preconditions.checkStringNotEmpty(packageName, "packageName");
            Preconditions.checkStringNotEmpty(packageName, "packageName");
            Preconditions.checkStringNotEmpty(shortcutId, "shortcutId");
            Preconditions.checkStringNotEmpty(shortcutId, "shortcutId");


            throwIfUserLocked(userId);
            if (!isUserUnlocked(userId) || !isUserUnlocked(launcherUserId)) {
            throwIfUserLocked(launcherUserId);
                return null;
            }


            final ShortcutPackage p = getUserShortcutsLocked(userId)
            final ShortcutPackage p = getUserShortcutsLocked(userId)
                    .getPackageShortcutsIfExists(packageName);
                    .getPackageShortcutsIfExists(packageName);
@@ -2294,8 +2296,9 @@ public class ShortcutService extends IShortcutService.Stub {
            Preconditions.checkStringNotEmpty(packageName, "packageName");
            Preconditions.checkStringNotEmpty(packageName, "packageName");
            Preconditions.checkNotNull(shortcutIds, "shortcutIds");
            Preconditions.checkNotNull(shortcutIds, "shortcutIds");


            throwIfUserLocked(userId);
            if (!isUserUnlocked(userId) || !isUserUnlocked(launcherUserId)) {
            throwIfUserLocked(launcherUserId);
                return;
            }


            synchronized (mLock) {
            synchronized (mLock) {
                final ShortcutLauncher launcher =
                final ShortcutLauncher launcher =
@@ -2317,8 +2320,9 @@ public class ShortcutService extends IShortcutService.Stub {
            Preconditions.checkStringNotEmpty(packageName, "packageName can't be empty");
            Preconditions.checkStringNotEmpty(packageName, "packageName can't be empty");
            Preconditions.checkStringNotEmpty(shortcutId, "shortcutId can't be empty");
            Preconditions.checkStringNotEmpty(shortcutId, "shortcutId can't be empty");


            throwIfUserLocked(userId);
            if (!isUserUnlocked(userId) || !isUserUnlocked(launcherUserId)) {
            throwIfUserLocked(launcherUserId);
                return null;
            }


            synchronized (mLock) {
            synchronized (mLock) {
                getLauncherShortcutsLocked(callingPackage, userId, launcherUserId)
                getLauncherShortcutsLocked(callingPackage, userId, launcherUserId)
@@ -2350,8 +2354,9 @@ public class ShortcutService extends IShortcutService.Stub {
            Preconditions.checkNotNull(packageName, "packageName");
            Preconditions.checkNotNull(packageName, "packageName");
            Preconditions.checkNotNull(shortcutId, "shortcutId");
            Preconditions.checkNotNull(shortcutId, "shortcutId");


            throwIfUserLocked(userId);
            if (!isUserUnlocked(userId) || !isUserUnlocked(launcherUserId)) {
            throwIfUserLocked(launcherUserId);
                return 0;
            }


            synchronized (mLock) {
            synchronized (mLock) {
                getLauncherShortcutsLocked(callingPackage, userId, launcherUserId)
                getLauncherShortcutsLocked(callingPackage, userId, launcherUserId)
@@ -2377,8 +2382,9 @@ public class ShortcutService extends IShortcutService.Stub {
            Preconditions.checkNotNull(packageName, "packageName");
            Preconditions.checkNotNull(packageName, "packageName");
            Preconditions.checkNotNull(shortcutId, "shortcutId");
            Preconditions.checkNotNull(shortcutId, "shortcutId");


            throwIfUserLocked(userId);
            if (!isUserUnlocked(userId) || !isUserUnlocked(launcherUserId)) {
            throwIfUserLocked(launcherUserId);
                return null;
            }


            synchronized (mLock) {
            synchronized (mLock) {
                getLauncherShortcutsLocked(callingPackage, userId, launcherUserId)
                getLauncherShortcutsLocked(callingPackage, userId, launcherUserId)
@@ -2412,7 +2418,9 @@ public class ShortcutService extends IShortcutService.Stub {
        @Override
        @Override
        public boolean hasShortcutHostPermission(int launcherUserId,
        public boolean hasShortcutHostPermission(int launcherUserId,
                @NonNull String callingPackage) {
                @NonNull String callingPackage) {
            throwIfUserLocked(launcherUserId);
            if (!isUserUnlocked(launcherUserId)) {
                return false;
            }
            return ShortcutService.this.hasShortcutHostPermission(callingPackage, launcherUserId);
            return ShortcutService.this.hasShortcutHostPermission(callingPackage, launcherUserId);
        }
        }
    }
    }