Merge "Report all conditions met when no conditions given."

This commit is contained in:
Darrell Shi
2021-12-07 01:18:36 +00:00
committed by Android (Google) Code Review
2 changed files with 16 additions and 0 deletions

View File

@@ -81,6 +81,12 @@ public class Monitor implements CallbackController<Monitor.Callback> {
public Monitor(Set<Condition> conditions) {
mConditions = conditions;
// If there is no condition, give green pass.
if (mConditions.isEmpty()) {
mAllConditionsMet = true;
return;
}
// Initializes the conditions map and registers a callback for each condition.
mConditions.forEach((condition -> mConditionsMap.put(condition, false)));
}

View File

@@ -96,6 +96,16 @@ public class ConditionMonitorTest extends SysuiTestCase {
verify(callback2).onConditionsChanged(true);
}
@Test
public void addCallback_noConditions_reportAllConditionsMet() {
final Monitor monitor = new Monitor(new HashSet<>());
final Monitor.Callback callback = mock(Monitor.Callback.class);
monitor.addCallback(callback);
verify(callback).onConditionsChanged(true);
}
@Test
public void removeCallback_shouldNoLongerReceiveUpdate() {
final Monitor.Callback callback =