Merge "Reset the condition to the initial state."

This commit is contained in:
TreeHugger Robot
2019-02-28 10:47:04 +00:00
committed by Android (Google) Code Review
2 changed files with 6 additions and 2 deletions

View File

@@ -69,7 +69,7 @@ public:
mTimeBaseNs(timeBaseNs),
mCurrentBucketStartTimeNs(timeBaseNs),
mCurrentBucketNum(0),
mCondition(conditionIndex >= 0 ? ConditionState::kUnknown : ConditionState::kTrue),
mCondition(initialCondition(conditionIndex)),
mConditionSliced(false),
mWizard(wizard),
mConditionTrackerIndex(conditionIndex),
@@ -82,6 +82,10 @@ public:
virtual ~MetricProducer(){};
ConditionState initialCondition(const int conditionIndex) const {
return conditionIndex >= 0 ? ConditionState::kUnknown : ConditionState::kTrue;
}
/**
* Forces this metric to split into a partial bucket right now. If we're past a full bucket, we
* first call the standard flushing code to flush up to the latest full bucket. Then we call

View File

@@ -394,7 +394,7 @@ void ValueMetricProducer::onConditionChangedLocked(const bool condition,
invalidateCurrentBucket();
// Something weird happened. If we received another event if the future, the condition might
// be wrong.
mCondition = ConditionState::kUnknown;
mCondition = initialCondition(mConditionTrackerIndex);
}
// This part should alway be called.