[BatteryStatsService] Disable deprecated BatteryUsageStatsAtom
- added dedicated flag to depricate composite atoms
Bug: 353538348
Test: atest PowerStatsTestsRavenwood
Test: atest PowerStatsTests
Flag: com.android.server.power.optimization.disable_composite_battery_usage_stats_atoms
Change-Id: Ia189e61246f4a6595087302f133ca62581b515da
diff --git a/AconfigFlags.bp b/AconfigFlags.bp
index a16aa2d..0e6a94c 100644
--- a/AconfigFlags.bp
+++ b/AconfigFlags.bp
@@ -1490,6 +1490,13 @@
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
+java_aconfig_library {
+ name: "backstage_power_flags_lib-host",
+ aconfig_declarations: "backstage_power_flags",
+ host_supported: true,
+ defaults: ["framework-minus-apex-aconfig-java-defaults"],
+}
+
// Dropbox data
aconfig_declarations {
name: "dropbox_flags",
diff --git a/services/core/java/com/android/server/am/BatteryStatsService.java b/services/core/java/com/android/server/am/BatteryStatsService.java
index d2c6e555..8df4e77 100644
--- a/services/core/java/com/android/server/am/BatteryStatsService.java
+++ b/services/core/java/com/android/server/am/BatteryStatsService.java
@@ -1104,18 +1104,20 @@
final StatsManager statsManager = mContext.getSystemService(StatsManager.class);
final StatsPullAtomCallbackImpl pullAtomCallback = new StatsPullAtomCallbackImpl();
- statsManager.setPullAtomCallback(
- FrameworkStatsLog.BATTERY_USAGE_STATS_SINCE_RESET,
- null, // use default PullAtomMetadata values
- DIRECT_EXECUTOR, pullAtomCallback);
- statsManager.setPullAtomCallback(
- FrameworkStatsLog.BATTERY_USAGE_STATS_SINCE_RESET_USING_POWER_PROFILE_MODEL,
- null, // use default PullAtomMetadata values
- DIRECT_EXECUTOR, pullAtomCallback);
- statsManager.setPullAtomCallback(
- FrameworkStatsLog.BATTERY_USAGE_STATS_BEFORE_RESET,
- null, // use default PullAtomMetadata values
- DIRECT_EXECUTOR, pullAtomCallback);
+ if (!Flags.disableCompositeBatteryUsageStatsAtoms()) {
+ statsManager.setPullAtomCallback(
+ FrameworkStatsLog.BATTERY_USAGE_STATS_SINCE_RESET,
+ null, // use default PullAtomMetadata values
+ DIRECT_EXECUTOR, pullAtomCallback);
+ statsManager.setPullAtomCallback(
+ FrameworkStatsLog.BATTERY_USAGE_STATS_SINCE_RESET_USING_POWER_PROFILE_MODEL,
+ null, // use default PullAtomMetadata values
+ DIRECT_EXECUTOR, pullAtomCallback);
+ statsManager.setPullAtomCallback(
+ FrameworkStatsLog.BATTERY_USAGE_STATS_BEFORE_RESET,
+ null, // use default PullAtomMetadata values
+ DIRECT_EXECUTOR, pullAtomCallback);
+ }
if (Flags.addBatteryUsageStatsSliceAtom()) {
statsManager.setPullAtomCallback(
FrameworkStatsLog.BATTERY_USAGE_STATS_PER_UID,
@@ -1132,6 +1134,10 @@
final BatteryUsageStats bus;
switch (atomTag) {
case FrameworkStatsLog.BATTERY_USAGE_STATS_SINCE_RESET: {
+ if (Flags.disableCompositeBatteryUsageStatsAtoms()) {
+ return StatsManager.PULL_SKIP;
+ }
+
@SuppressLint("MissingPermission")
final double minConsumedPowerThreshold =
DeviceConfig.getFloat(DEVICE_CONFIG_NAMESPACE,
@@ -1148,6 +1154,10 @@
break;
}
case FrameworkStatsLog.BATTERY_USAGE_STATS_SINCE_RESET_USING_POWER_PROFILE_MODEL:
+ if (Flags.disableCompositeBatteryUsageStatsAtoms()) {
+ return StatsManager.PULL_SKIP;
+ }
+
final BatteryUsageStatsQuery queryPowerProfile =
new BatteryUsageStatsQuery.Builder()
.setMaxStatsAgeMs(0)
@@ -1159,6 +1169,10 @@
bus = getBatteryUsageStats(List.of(queryPowerProfile)).get(0);
break;
case FrameworkStatsLog.BATTERY_USAGE_STATS_BEFORE_RESET: {
+ if (Flags.disableCompositeBatteryUsageStatsAtoms()) {
+ return StatsManager.PULL_SKIP;
+ }
+
final long sessionStart =
getLastBatteryUsageStatsBeforeResetAtomPullTimestamp();
final long sessionEnd;
diff --git a/services/core/java/com/android/server/power/stats/flags.aconfig b/services/core/java/com/android/server/power/stats/flags.aconfig
index 05496cf..cc0a283 100644
--- a/services/core/java/com/android/server/power/stats/flags.aconfig
+++ b/services/core/java/com/android/server/power/stats/flags.aconfig
@@ -61,3 +61,10 @@
description: "Batterystats dumpsys is enhanced by including power break-down by power s"
bug: "352835319"
}
+
+flag {
+ name: "disable_composite_battery_usage_stats_atoms"
+ namespace: "backstage_power"
+ description: "Disable deprecated BatteryUsageStatsAtom pulled atom"
+ bug: "324602949"
+}