From 53f48c4a974a4e1a641b0650b5ff7e9453055e24 Mon Sep 17 00:00:00 2001 From: ykhung Date: Mon, 5 Jun 2023 01:01:55 +0800 Subject: [PATCH] Make the estimator cache logic is the same as SysUI flow Ensure the remaining time estimator cache logic is the same as SysUI https://source.corp.google.com/android/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java;l=375-386 Test: presubmit Fix: 285747156 Change-Id: If7218dc70792aafaec45c71018897bed80df7f3d --- src/com/android/settings/fuelgauge/BatteryUtils.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/com/android/settings/fuelgauge/BatteryUtils.java b/src/com/android/settings/fuelgauge/BatteryUtils.java index 12760b18b0a..f5d3950fc2f 100644 --- a/src/com/android/settings/fuelgauge/BatteryUtils.java +++ b/src/com/android/settings/fuelgauge/BatteryUtils.java @@ -451,12 +451,10 @@ public class BatteryUtils { @VisibleForTesting Estimate getEnhancedEstimate() { - Estimate estimate = null; - // Get enhanced prediction if available - if (Duration.between(Estimate.getLastCacheUpdateTime(mContext), Instant.now()) - .compareTo(Duration.ofSeconds(10)) < 0) { - estimate = Estimate.getCachedEstimateIfAvailable(mContext); - } else if (mPowerUsageFeatureProvider != null && + // Align the same logic in the BatteryControllerImpl.updateEstimate() + Estimate estimate = Estimate.getCachedEstimateIfAvailable(mContext); + if (estimate == null && + mPowerUsageFeatureProvider != null && mPowerUsageFeatureProvider.isEnhancedBatteryPredictionEnabled(mContext)) { estimate = mPowerUsageFeatureProvider.getEnhancedBatteryPrediction(mContext); if (estimate != null) {