diff options
| -rw-r--r-- | core/java/com/android/internal/os/BatteryUsageStatsProvider.java | 7 | ||||
| -rw-r--r-- | services/core/java/com/android/server/am/BatteryStatsService.java | 6 |
2 files changed, 12 insertions, 1 deletions
diff --git a/core/java/com/android/internal/os/BatteryUsageStatsProvider.java b/core/java/com/android/internal/os/BatteryUsageStatsProvider.java index 8943db6c8a1e..00385793b62b 100644 --- a/core/java/com/android/internal/os/BatteryUsageStatsProvider.java +++ b/core/java/com/android/internal/os/BatteryUsageStatsProvider.java @@ -23,6 +23,7 @@ import android.os.BatteryUsageStats; import android.os.BatteryUsageStatsQuery; import android.os.SystemClock; import android.os.UidBatteryConsumer; +import android.util.Log; import android.util.SparseArray; import com.android.internal.annotations.VisibleForTesting; @@ -36,6 +37,7 @@ import java.util.Map; * usage data attributed to subsystems and UIDs. */ public class BatteryUsageStatsProvider { + private static final String TAG = "BatteryUsageStatsProv"; private final Context mContext; private final BatteryStats mStats; private final BatteryUsageStatsStore mBatteryUsageStatsStore; @@ -234,6 +236,11 @@ public class BatteryUsageStatsProvider { final BatteryUsageStats.Builder builder = new BatteryUsageStats.Builder( mStats.getCustomEnergyConsumerNames(), includePowerModels); + if (mBatteryUsageStatsStore == null) { + Log.e(TAG, "BatteryUsageStatsStore is unavailable"); + return builder.build(); + } + final long[] timestamps = mBatteryUsageStatsStore.listBatteryUsageStatsTimestamps(); for (long timestamp : timestamps) { if (timestamp > query.getFromTimestamp() && timestamp <= query.getToTimestamp()) { diff --git a/services/core/java/com/android/server/am/BatteryStatsService.java b/services/core/java/com/android/server/am/BatteryStatsService.java index 08f6f1e6e46e..7d9d78969ca9 100644 --- a/services/core/java/com/android/server/am/BatteryStatsService.java +++ b/services/core/java/com/android/server/am/BatteryStatsService.java @@ -126,7 +126,7 @@ public final class BatteryStatsService extends IBatteryStats.Stub Watchdog.Monitor { static final String TAG = "BatteryStatsService"; static final boolean DBG = false; - private static final boolean BATTERY_USAGE_STORE_ENABLED = true; + private static final boolean BATTERY_USAGE_STORE_ENABLED = false; private static IBatteryStats sService; @@ -784,6 +784,10 @@ public final class BatteryStatsService extends IBatteryStats.Stub bus = getBatteryUsageStats(List.of(powerProfileQuery)).get(0); break; case FrameworkStatsLog.BATTERY_USAGE_STATS_BEFORE_RESET: + if (!BATTERY_USAGE_STORE_ENABLED) { + return StatsManager.PULL_SKIP; + } + final long sessionStart = mBatteryUsageStatsStore .getLastBatteryUsageStatsBeforeResetAtomPullTimestamp(); final long sessionEnd = mStats.getStartClockTime(); |