[Do Not Merge] Revert "Implement a global maximum on number of shortcuts an app can publish" am: 4a34020ffc

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20750216

Change-Id: Ibdaf835400de7dc85693b99d54e69a16b23e5fa3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Pinyao Ting
2022-12-20 21:41:27 +00:00
committed by Automerger Merge Worker
2 changed files with 8 additions and 49 deletions

View File

@@ -1332,15 +1332,9 @@ class ShortcutPackage extends ShortcutPackageItem {
} }
// Then make sure none of the activities have more than the max number of shortcuts. // 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--) { for (int i = counts.size() - 1; i >= 0; i--) {
int count = counts.valueAt(i); service.enforceMaxActivityShortcuts(counts.valueAt(i));
service.enforceMaxActivityShortcuts(count);
total += count;
} }
// Finally make sure that the app doesn't have more than the max number of shortcuts.
service.enforceMaxAppShortcuts(total);
} }
/** /**

View File

@@ -171,9 +171,6 @@ public class ShortcutService extends IShortcutService.Stub {
@VisibleForTesting @VisibleForTesting
static final int DEFAULT_MAX_SHORTCUTS_PER_ACTIVITY = 15; static final int DEFAULT_MAX_SHORTCUTS_PER_ACTIVITY = 15;
@VisibleForTesting
static final int DEFAULT_MAX_SHORTCUTS_PER_APP = 60;
@VisibleForTesting @VisibleForTesting
static final int DEFAULT_MAX_ICON_DIMENSION_DP = 96; 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"; 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. * Key name for icon compression quality, 0-100.
*/ */
@@ -309,15 +301,10 @@ public class ShortcutService extends IShortcutService.Stub {
private final SparseArray<ShortcutNonPersistentUser> mShortcutNonPersistentUsers = private final SparseArray<ShortcutNonPersistentUser> mShortcutNonPersistentUsers =
new SparseArray<>(); 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. * 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. * 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( mMaxUpdatesPerInterval = Math.max(0, (int) parser.getLong(
ConfigConstants.KEY_MAX_UPDATES_PER_INTERVAL, DEFAULT_MAX_UPDATES_PER_INTERVAL)); 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)); 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() final int iconDimensionDp = Math.max(1, injectIsLowRamDevice()
? (int) parser.getLong( ? (int) parser.getLong(
ConfigConstants.KEY_MAX_ICON_DIMENSION_DP_LOWRAM, ConfigConstants.KEY_MAX_ICON_DIMENSION_DP_LOWRAM,
@@ -1665,33 +1649,16 @@ public class ShortcutService extends IShortcutService.Stub {
* {@link #getMaxActivityShortcuts()}. * {@link #getMaxActivityShortcuts()}.
*/ */
void enforceMaxActivityShortcuts(int numShortcuts) { void enforceMaxActivityShortcuts(int numShortcuts) {
if (numShortcuts > mMaxShortcutsPerActivity) { if (numShortcuts > mMaxShortcuts) {
throw new IllegalArgumentException("Max number of dynamic shortcuts exceeded"); 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. * Return the max number of dynamic + manifest shortcuts for each launcher icon.
*/ */
int getMaxActivityShortcuts() { int getMaxActivityShortcuts() {
return mMaxShortcutsPerActivity; return mMaxShortcuts;
}
/**
* Return the max number of dynamic + manifest shortcuts for each launcher icon.
*/
int getMaxAppShortcuts() {
return mMaxShortcutsPerApp;
} }
/** /**
@@ -2108,8 +2075,6 @@ public class ShortcutService extends IShortcutService.Stub {
ps.ensureNotImmutable(shortcut.getId(), /*ignoreInvisible=*/ true); ps.ensureNotImmutable(shortcut.getId(), /*ignoreInvisible=*/ true);
fillInDefaultActivity(Arrays.asList(shortcut)); fillInDefaultActivity(Arrays.asList(shortcut));
enforceMaxAppShortcuts(ps.getShortcutCount());
if (!shortcut.hasRank()) { if (!shortcut.hasRank()) {
shortcut.setRank(0); shortcut.setRank(0);
} }
@@ -2528,7 +2493,7 @@ public class ShortcutService extends IShortcutService.Stub {
throws RemoteException { throws RemoteException {
verifyCaller(packageName, userId); verifyCaller(packageName, userId);
return mMaxShortcutsPerActivity; return mMaxShortcuts;
} }
@Override @Override
@@ -4446,7 +4411,7 @@ public class ShortcutService extends IShortcutService.Stub {
pw.print(" maxUpdatesPerInterval: "); pw.print(" maxUpdatesPerInterval: ");
pw.println(mMaxUpdatesPerInterval); pw.println(mMaxUpdatesPerInterval);
pw.print(" maxShortcutsPerActivity: "); pw.print(" maxShortcutsPerActivity: ");
pw.println(mMaxShortcutsPerActivity); pw.println(mMaxShortcuts);
pw.println(); pw.println();
mStatLogger.dump(pw, " "); mStatLogger.dump(pw, " ");
@@ -4883,7 +4848,7 @@ public class ShortcutService extends IShortcutService.Stub {
@VisibleForTesting @VisibleForTesting
int getMaxShortcutsForTest() { int getMaxShortcutsForTest() {
return mMaxShortcutsPerActivity; return mMaxShortcuts;
} }
@VisibleForTesting @VisibleForTesting