From 09c0ede3bf70233ad4e0647671a6a388e783e437 Mon Sep 17 00:00:00 2001 From: Kweku Adams Date: Mon, 4 Apr 2022 17:40:57 +0000 Subject: 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 --- core/java/android/util/SparseSetArray.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'core/java/android/util/SparseSetArray.java') 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 @@ -43,6 +43,19 @@ public class SparseSetArray { return true; } + /** + * Add a set of values for key n. + */ + public void addAll(int n, ArraySet values) { + ArraySet 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. */ @@ -90,6 +103,7 @@ public class SparseSetArray { public void remove(int n) { mData.remove(n); } + public int size() { return mData.size(); } -- cgit v1.2.3