Loading services/core/java/com/android/server/pm/ShortcutPackage.java +1 −7 Original line number Diff line number Diff line Loading @@ -1479,15 +1479,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); } /** Loading services/core/java/com/android/server/pm/ShortcutService.java +7 −42 Original line number Diff line number Diff line Loading @@ -179,9 +179,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; Loading Loading @@ -256,11 +253,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. */ Loading Loading @@ -332,15 +324,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. Loading Loading @@ -800,12 +787,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, Loading Loading @@ -1761,33 +1745,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; } /** Loading Loading @@ -2246,8 +2213,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); } Loading Loading @@ -2806,7 +2771,7 @@ public class ShortcutService extends IShortcutService.Stub { throws RemoteException { verifyCaller(packageName, userId); return mMaxShortcutsPerActivity; return mMaxShortcuts; } @Override Loading Loading @@ -4858,7 +4823,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, " "); Loading Loading @@ -5346,7 +5311,7 @@ public class ShortcutService extends IShortcutService.Stub { @VisibleForTesting int getMaxShortcutsForTest() { return mMaxShortcutsPerActivity; return mMaxShortcuts; } @VisibleForTesting Loading Loading
services/core/java/com/android/server/pm/ShortcutPackage.java +1 −7 Original line number Diff line number Diff line Loading @@ -1479,15 +1479,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); } /** Loading
services/core/java/com/android/server/pm/ShortcutService.java +7 −42 Original line number Diff line number Diff line Loading @@ -179,9 +179,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; Loading Loading @@ -256,11 +253,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. */ Loading Loading @@ -332,15 +324,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. Loading Loading @@ -800,12 +787,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, Loading Loading @@ -1761,33 +1745,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; } /** Loading Loading @@ -2246,8 +2213,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); } Loading Loading @@ -2806,7 +2771,7 @@ public class ShortcutService extends IShortcutService.Stub { throws RemoteException { verifyCaller(packageName, userId); return mMaxShortcutsPerActivity; return mMaxShortcuts; } @Override Loading Loading @@ -4858,7 +4823,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, " "); Loading Loading @@ -5346,7 +5311,7 @@ public class ShortcutService extends IShortcutService.Stub { @VisibleForTesting int getMaxShortcutsForTest() { return mMaxShortcutsPerActivity; return mMaxShortcuts; } @VisibleForTesting Loading