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

Commit 28dae0e4 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "[Do Not Merge] Revert "Implement a global maximum on number of...

Merge "[Do Not Merge] Revert "Implement a global maximum on number of shortcuts an app can publish"" into rvc-dev
parents d1d37554 4a34020f
Loading
Loading
Loading
Loading
+1 −7
Original line number Diff line number Diff line
@@ -1332,15 +1332,9 @@ class ShortcutPackage extends ShortcutPackageItem {
        }

        // Then make sure none of the activities have more than the max number of shortcuts.
        int total = 0;
        for (int i = counts.size() - 1; i >= 0; i--) {
            int count = counts.valueAt(i);
            service.enforceMaxActivityShortcuts(count);
            total += count;
            service.enforceMaxActivityShortcuts(counts.valueAt(i));
        }

        // Finally make sure that the app doesn't have more than the max number of shortcuts.
        service.enforceMaxAppShortcuts(total);
    }

    /**
+7 −42
Original line number Diff line number Diff line
@@ -171,9 +171,6 @@ public class ShortcutService extends IShortcutService.Stub {
    @VisibleForTesting
    static final int DEFAULT_MAX_SHORTCUTS_PER_ACTIVITY = 15;

    @VisibleForTesting
    static final int DEFAULT_MAX_SHORTCUTS_PER_APP = 60;

    @VisibleForTesting
    static final int DEFAULT_MAX_ICON_DIMENSION_DP = 96;

@@ -248,11 +245,6 @@ public class ShortcutService extends IShortcutService.Stub {
         */
        String KEY_MAX_SHORTCUTS = "max_shortcuts";

        /**
         * Key name for the max dynamic shortcuts per app. (int)
         */
        String KEY_MAX_SHORTCUTS_PER_APP = "max_shortcuts_per_app";

        /**
         * Key name for icon compression quality, 0-100.
         */
@@ -309,15 +301,10 @@ public class ShortcutService extends IShortcutService.Stub {
    private final SparseArray<ShortcutNonPersistentUser> mShortcutNonPersistentUsers =
            new SparseArray<>();

    /**
     * Max number of dynamic + manifest shortcuts that each activity can have at a time.
     */
    private int mMaxShortcutsPerActivity;

    /**
     * Max number of dynamic + manifest shortcuts that each application can have at a time.
     */
    private int mMaxShortcutsPerApp;
    private int mMaxShortcuts;

    /**
     * Max number of updating API calls that each application can make during the interval.
@@ -742,12 +729,9 @@ public class ShortcutService extends IShortcutService.Stub {
        mMaxUpdatesPerInterval = Math.max(0, (int) parser.getLong(
                ConfigConstants.KEY_MAX_UPDATES_PER_INTERVAL, DEFAULT_MAX_UPDATES_PER_INTERVAL));

        mMaxShortcutsPerActivity = Math.max(0, (int) parser.getLong(
        mMaxShortcuts = Math.max(0, (int) parser.getLong(
                ConfigConstants.KEY_MAX_SHORTCUTS, DEFAULT_MAX_SHORTCUTS_PER_ACTIVITY));

        mMaxShortcutsPerApp = Math.max(0, (int) parser.getLong(
                ConfigConstants.KEY_MAX_SHORTCUTS_PER_APP, DEFAULT_MAX_SHORTCUTS_PER_APP));

        final int iconDimensionDp = Math.max(1, injectIsLowRamDevice()
                ? (int) parser.getLong(
                ConfigConstants.KEY_MAX_ICON_DIMENSION_DP_LOWRAM,
@@ -1665,33 +1649,16 @@ public class ShortcutService extends IShortcutService.Stub {
     *                                  {@link #getMaxActivityShortcuts()}.
     */
    void enforceMaxActivityShortcuts(int numShortcuts) {
        if (numShortcuts > mMaxShortcutsPerActivity) {
        if (numShortcuts > mMaxShortcuts) {
            throw new IllegalArgumentException("Max number of dynamic shortcuts exceeded");
        }
    }

    /**
     * @throws IllegalArgumentException if {@code numShortcuts} is bigger than
     *                                  {@link #getMaxAppShortcuts()}.
     */
    void enforceMaxAppShortcuts(int numShortcuts) {
        if (numShortcuts > mMaxShortcutsPerApp) {
            throw new IllegalArgumentException("Max number of dynamic shortcuts per app exceeded");
        }
    }

    /**
     * Return the max number of dynamic + manifest shortcuts for each launcher icon.
     */
    int getMaxActivityShortcuts() {
        return mMaxShortcutsPerActivity;
    }

    /**
     * Return the max number of dynamic + manifest shortcuts for each launcher icon.
     */
    int getMaxAppShortcuts() {
        return mMaxShortcutsPerApp;
        return mMaxShortcuts;
    }

    /**
@@ -2108,8 +2075,6 @@ public class ShortcutService extends IShortcutService.Stub {
            ps.ensureNotImmutable(shortcut.getId(), /*ignoreInvisible=*/ true);
            fillInDefaultActivity(Arrays.asList(shortcut));

            enforceMaxAppShortcuts(ps.getShortcutCount());

            if (!shortcut.hasRank()) {
                shortcut.setRank(0);
            }
@@ -2528,7 +2493,7 @@ public class ShortcutService extends IShortcutService.Stub {
            throws RemoteException {
        verifyCaller(packageName, userId);

        return mMaxShortcutsPerActivity;
        return mMaxShortcuts;
    }

    @Override
@@ -4446,7 +4411,7 @@ public class ShortcutService extends IShortcutService.Stub {
                pw.print("    maxUpdatesPerInterval: ");
                pw.println(mMaxUpdatesPerInterval);
                pw.print("    maxShortcutsPerActivity: ");
                pw.println(mMaxShortcutsPerActivity);
                pw.println(mMaxShortcuts);
                pw.println();

                mStatLogger.dump(pw, "  ");
@@ -4883,7 +4848,7 @@ public class ShortcutService extends IShortcutService.Stub {

    @VisibleForTesting
    int getMaxShortcutsForTest() {
        return mMaxShortcutsPerActivity;
        return mMaxShortcuts;
    }

    @VisibleForTesting