summaryrefslogtreecommitdiff
path: root/core/java/android/util/SparseSetArray.java
diff options
context:
space:
mode:
authorKweku Adams <kwekua@google.com>2022-04-04 17:40:57 +0000
committerKweku Adams <kwekua@google.com>2022-04-06 15:24:34 +0000
commit09c0ede3bf70233ad4e0647671a6a388e783e437 (patch)
tree1f76ad805ec2b3a74fd2b9c1fafeff62632ff10b /core/java/android/util/SparseSetArray.java
parentf9ea3a5043a2506b9da4661f14268422b73c2e04 (diff)
Consolidate launch time change notifications.
Track pending estimated launch time changes in a single Set so that we avoid sending repeat notifications for a single package. Bug: 227796747 Test: atest CtsUsageStatsTestCases:UsageStatsTest Test: atest FrameworksCoreTests:android.util.SparseSetArrayTest Test: atest FrameworksMockingServicesTests:PrefetchControllerTest Test: atest FrameworksMockingServicesTests:UserUsageStatsServiceTest Change-Id: I671c97e4e4110d0a1c76a8f6400dfe8c1e5055dc
Diffstat (limited to 'core/java/android/util/SparseSetArray.java')
-rw-r--r--core/java/android/util/SparseSetArray.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/core/java/android/util/SparseSetArray.java b/core/java/android/util/SparseSetArray.java
index f5025f7a9e99..fa514bec3076 100644
--- a/core/java/android/util/SparseSetArray.java
+++ b/core/java/android/util/SparseSetArray.java
@@ -44,6 +44,19 @@ public class SparseSetArray<T> {
}
/**
+ * Add a set of values for key n.
+ */
+ public void addAll(int n, ArraySet<T> values) {
+ ArraySet<T> set = mData.get(n);
+ if (set == null) {
+ set = new ArraySet<>(values);
+ mData.put(n, set);
+ return;
+ }
+ set.addAll(values);
+ }
+
+ /**
* Removes all mappings from this SparseSetArray.
*/
public void clear() {
@@ -90,6 +103,7 @@ public class SparseSetArray<T> {
public void remove(int n) {
mData.remove(n);
}
+
public int size() {
return mData.size();
}