Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0d455533 authored by Christine Tsai's avatar Christine Tsai Committed by Android (Google) Code Review
Browse files

Merge "StateTracker handles active state changes" into rvc-dev

parents 8d3583e8 0f6c1bcb
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -187,8 +187,9 @@ void ValueMetricProducer::onStateChanged(int64_t eventTimeNs, int32_t atomId,
    VLOG("ValueMetric %lld onStateChanged time %lld, State %d, key %s, %d -> %d",
         (long long)mMetricId, (long long)eventTimeNs, atomId, primaryKey.toString().c_str(),
         oldState.mValue.int_value, newState.mValue.int_value);
    // If condition is not true, we do not need to pull for this state change.
    if (mCondition != ConditionState::kTrue) {
    // If condition is not true or metric is not active, we do not need to pull
    // for this state change.
    if (mCondition != ConditionState::kTrue || !mIsActive) {
        return;
    }

+4 −1
Original line number Diff line number Diff line
@@ -329,7 +329,10 @@ void OringDurationTracker::onConditionChanged(bool condition, const int64_t time

void OringDurationTracker::onStateChanged(const int64_t timestamp, const int32_t atomId,
                                          const FieldValue& newState) {
    // If no keys are being tracked, update the current state key and return.
    // Nothing needs to be done on a state change if we have not seen a start
    // event, the metric is currently not active, or condition is false.
    // For these cases, no keys are being tracked in mStarted, so update
    // the current state key and return.
    if (mStarted.empty()) {
        updateCurrentStateKey(atomId, newState);
        return;