[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:
@@ -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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user