summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chandru S <chandruis@google.com> 2024-06-21 05:43:11 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-06-21 05:43:11 +0000
commit1b5417069c4a6586cee9577f55de3752136d49b2 (patch)
tree50d0162f7c1290b70fdc288faf63e468adfc5439
parentba401926f2a3594237dac42f9d2550da2edae74f (diff)
parentcb2ae6301dc171cd766d8baf80a097643884b401 (diff)
Merge "Use thread-safe collection for storing listeners" into main
-rw-r--r--packages/SystemUI/src/com/android/systemui/classifier/HistoryTracker.java15
1 files changed, 10 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/classifier/HistoryTracker.java b/packages/SystemUI/src/com/android/systemui/classifier/HistoryTracker.java
index 09bf04cb6d59..9cb26f35fa66 100644
--- a/packages/SystemUI/src/com/android/systemui/classifier/HistoryTracker.java
+++ b/packages/SystemUI/src/com/android/systemui/classifier/HistoryTracker.java
@@ -20,9 +20,10 @@ import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.util.time.SystemClock;
-import java.util.ArrayList;
+import com.google.common.collect.Sets;
+
import java.util.Collection;
-import java.util.List;
+import java.util.Set;
import java.util.concurrent.DelayQueue;
import java.util.concurrent.Delayed;
import java.util.concurrent.TimeUnit;
@@ -52,7 +53,7 @@ public class HistoryTracker {
private final SystemClock mSystemClock;
DelayQueue<CombinedResult> mResults = new DelayQueue<>();
- private final List<BeliefListener> mBeliefListeners = new ArrayList<>();
+ private final Set<BeliefListener> mBeliefListeners = Sets.newConcurrentHashSet();
@Inject
HistoryTracker(SystemClock systemClock) {
@@ -161,11 +162,15 @@ public class HistoryTracker {
}
void addBeliefListener(BeliefListener listener) {
- mBeliefListeners.add(listener);
+ if (listener != null) {
+ mBeliefListeners.add(listener);
+ }
}
void removeBeliefListener(BeliefListener listener) {
- mBeliefListeners.remove(listener);
+ if (listener != null) {
+ mBeliefListeners.remove(listener);
+ }
}
/**
* Represents a falsing score combing all the classifiers together.