Continue searching for device state after exception
Instead of returning if a sensor value hasn't returned we continue to look for a state that satisfy's the current device configuration. This fixes scenarios where some sensors return values much faster than others on startup, and certain states may have their conditions met. Bug: 257292818 Test: Manual Change-Id: I1796a682f0fa82ab9cba39e496369f59fd9c5721
This commit is contained in:
@@ -378,13 +378,14 @@ public final class DeviceStateProviderImpl implements DeviceStateProvider,
|
||||
try {
|
||||
conditionSatisfied = mStateConditions.get(state).getAsBoolean();
|
||||
} catch (IllegalStateException e) {
|
||||
// Failed to compute the current state based on current available data. Return
|
||||
// Failed to compute the current state based on current available data. Continue
|
||||
// with the expectation that notifyDeviceStateChangedIfNeeded() will be called
|
||||
// when a callback with the missing data is triggered.
|
||||
// when a callback with the missing data is triggered. May trigger another state
|
||||
// change if another state is satisfied currently.
|
||||
if (DEBUG) {
|
||||
Slog.d(TAG, "Unable to check current state", e);
|
||||
}
|
||||
return;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (conditionSatisfied) {
|
||||
|
||||
Reference in New Issue
Block a user