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

Commit e8638894 authored by Dmitri Plotnikov's avatar Dmitri Plotnikov Committed by Android (Google) Code Review
Browse files

Merge changes I49944a09,I32b8d9fa,I5eeecfd1 into main

* changes:
  Remove flag com.android.server.power.optimization.accumulate_battery_usage_stats
  Remove flag com.android.server.power.optimization.battery_usage_stats_by_power_and_screen_state
  Remove flag com.android.server.power.optimization.oneway_battery_stats_service
parents 71572aa7 a1cbc87c
Loading
Loading
Loading
Loading
+0 −23
Original line number Diff line number Diff line
@@ -47,7 +47,6 @@ import android.util.Pair;
import android.util.Slog;

import com.android.internal.app.IBatteryStats;
import com.android.server.power.optimization.Flags;

import java.util.Arrays;
import java.util.Comparator;
@@ -385,14 +384,6 @@ public class SystemHealthManager {
     * @see Process#myUid() Process.myUid()
     */
    public HealthStats takeUidSnapshot(int uid) {
        if (!Flags.onewayBatteryStatsService()) {
            try {
                final HealthStatsParceler parceler = mBatteryStats.takeUidSnapshot(uid);
                return parceler.getHealthStats();
            } catch (RemoteException ex) {
                throw ex.rethrowFromSystemServer();
            }
        }
        final HealthStats[] result = takeUidSnapshots(new int[]{uid});
        if (result != null && result.length >= 1) {
            return result[0];
@@ -425,20 +416,6 @@ public class SystemHealthManager {
     * other than its own.
     */
    public HealthStats[] takeUidSnapshots(int[] uids) {
        if (!Flags.onewayBatteryStatsService()) {
            try {
                final HealthStatsParceler[] parcelers = mBatteryStats.takeUidSnapshots(uids);
                final int count = uids.length;
                final HealthStats[] results = new HealthStats[count];
                for (int i = 0; i < count; i++) {
                    results[i] = parcelers[i].getHealthStats();
                }
                return results;
            } catch (RemoteException ex) {
                throw ex.rethrowFromSystemServer();
            }
        }

        SynchronousResultReceiver resultReceiver;
        synchronized (mPendingUidSnapshots) {
            if (Arrays.equals(mPendingUidSnapshots.uids, uids)) {
+9 −19
Original line number Diff line number Diff line
@@ -469,8 +469,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub
    public void systemServicesReady() {
        mStats.setBatteryHistoryCompressionEnabled(
                Flags.extendedBatteryHistoryCompressionEnabled());
        mStats.saveBatteryUsageStatsOnReset(mBatteryUsageStatsProvider, mPowerStatsStore,
                isBatteryUsageStatsAccumulationSupported());
        mStats.saveBatteryUsageStatsOnNewSession(mBatteryUsageStatsProvider, mPowerStatsStore,
                true);
        mStats.resetBatteryHistoryOnNewSession(
                !Flags.extendedBatteryHistoryContinuousCollectionEnabled());

@@ -564,10 +564,6 @@ public final class BatteryStatsService extends IBatteryStats.Stub
        mSystemReady.open();
    }

    private static boolean isBatteryUsageStatsAccumulationSupported() {
        return Flags.accumulateBatteryUsageStats();
    }

    /**
     * Notifies BatteryStatsService that the system server is ready.
     */
@@ -1046,12 +1042,9 @@ public final class BatteryStatsService extends IBatteryStats.Stub
                            .setMaxStatsAgeMs(0)
                            .includeProcessStateData()
                            .includeVirtualUids()
                            .setMinConsumedPowerThreshold(minConsumedPowerThreshold);

                    if (isBatteryUsageStatsAccumulationSupported()) {
                        query.accumulated()
                            .setMinConsumedPowerThreshold(minConsumedPowerThreshold)
                            .accumulated()
                            .setMaxStatsAgeMs(BATTERY_USAGE_STATS_PER_UID_MAX_STATS_AGE);
                    }

                    bus = getBatteryUsageStats(List.of(query.build())).get(0);
                    final int pullResult =
@@ -2959,9 +2952,7 @@ public final class BatteryStatsService extends IBatteryStats.Stub
        pw.println("     --proto: output as a binary protobuffer");
        pw.println("     --model power-profile: use the power profile model"
                + " even if measured energy is available");
        if (isBatteryUsageStatsAccumulationSupported()) {
        pw.println("     --accumulated: continuously accumulated since setup or reset-all");
        }
        pw.println("  --sample: collect and dump a sample of stats for debugging purpose");
        pw.println("  --sync: wait for delayed processing to finish (for use in tests)");
        pw.println("  <package.name>: optional name of package to filter output by.");
@@ -3034,10 +3025,9 @@ public final class BatteryStatsService extends IBatteryStats.Stub
        BatteryUsageStatsQuery.Builder builder = new BatteryUsageStatsQuery.Builder()
                .setMaxStatsAgeMs(0)
                .includeProcessStateData()
                .includePowerModels();
        if (Flags.batteryUsageStatsByPowerAndScreenState()) {
            builder.includeScreenStateData().includePowerStateData();
        }
                .includePowerModels()
                .includeScreenStateData()
                .includePowerStateData();
        if (accumulated) {
            builder.accumulated();
        }
+5 −6
Original line number Diff line number Diff line
@@ -20,8 +20,6 @@ import android.os.BatteryStats;
import android.os.BatteryUsageStats;
import android.os.BatteryUsageStatsQuery;

import com.android.server.power.optimization.Flags;

public class BatteryStatsDumpHelperImpl implements BatteryStats.BatteryStatsDumpHelper {
    private final BatteryUsageStatsProvider mBatteryUsageStatsProvider;

@@ -34,10 +32,11 @@ public class BatteryStatsDumpHelperImpl implements BatteryStats.BatteryStatsDump
        BatteryUsageStatsQuery.Builder builder = new BatteryUsageStatsQuery.Builder()
                .setMaxStatsAgeMs(0);
        if (detailed) {
            builder.includePowerModels().includeProcessStateData().includeVirtualUids();
            if (Flags.batteryUsageStatsByPowerAndScreenState()) {
                builder.includePowerStateData().includeScreenStateData();
            }
            builder.includePowerModels()
                    .includeProcessStateData()
                    .includePowerStateData()
                    .includeScreenStateData()
                    .includeVirtualUids();
        }
        return mBatteryUsageStatsProvider.getBatteryUsageStats((BatteryStatsImpl) batteryStats,
                builder.build());
+9 −9
Original line number Diff line number Diff line
@@ -626,7 +626,7 @@ public class BatteryStatsImpl extends BatteryStats {
        }
    }
    private boolean mSaveBatteryUsageStatsOnReset;
    private boolean mSaveBatteryUsageStatsOnNewSession;
    private boolean mResetBatteryHistoryOnNewSession;
    private boolean mAccumulateBatteryUsageStats;
    private BatteryUsageStatsProvider mBatteryUsageStatsProvider;
@@ -11690,13 +11690,13 @@ public class BatteryStatsImpl extends BatteryStats {
    /**
     * Associates the BatteryStatsImpl object with a BatteryUsageStatsProvider and PowerStatsStore
     * to allow for a snapshot of battery usage stats to be taken and stored just before battery
     * reset.
     * starting a new history buffer.
     */
    public void saveBatteryUsageStatsOnReset(
    public void saveBatteryUsageStatsOnNewSession(
            @NonNull BatteryUsageStatsProvider batteryUsageStatsProvider,
            @NonNull PowerStatsStore powerStatsStore,
            boolean accumulateBatteryUsageStats) {
        mSaveBatteryUsageStatsOnReset = true;
        mSaveBatteryUsageStatsOnNewSession = true;
        mBatteryUsageStatsProvider = batteryUsageStatsProvider;
        mPowerStatsStore = powerStatsStore;
        mAccumulateBatteryUsageStats = accumulateBatteryUsageStats;
@@ -11762,7 +11762,7 @@ public class BatteryStatsImpl extends BatteryStats {
        }
        mHandler.post(()-> {
            saveBatteryUsageStatsOnReset();
            saveBatteryUsageStatsOnNewSession();
            synchronized (BatteryStatsImpl.this) {
                resetAllStatsLocked(mClock.uptimeMillis(), mClock.elapsedRealtime(), reason);
            }
@@ -11928,8 +11928,8 @@ public class BatteryStatsImpl extends BatteryStats {
        mHandler.sendEmptyMessage(MSG_REPORT_RESET_STATS);
    }
    private void saveBatteryUsageStatsOnReset() {
        if (!mSaveBatteryUsageStatsOnReset) {
    private void saveBatteryUsageStatsOnNewSession() {
        if (!mSaveBatteryUsageStatsOnNewSession) {
            return;
        }
@@ -15090,7 +15090,7 @@ public class BatteryStatsImpl extends BatteryStats {
                    &&  !mEnergyConsumerStatsConfig.isCompatible(config)) {
                // Supported power buckets changed since last boot.
                // Save accumulated battery usage stats before resetting
                saveBatteryUsageStatsOnReset();
                saveBatteryUsageStatsOnNewSession();
                // Existing data is no longer reliable.
                resetAllStatsLocked(SystemClock.uptimeMillis(), SystemClock.elapsedRealtime(),
                        RESET_REASON_ENERGY_CONSUMER_BUCKETS_CHANGE);
@@ -15102,7 +15102,7 @@ public class BatteryStatsImpl extends BatteryStats {
            if (mEnergyConsumerStatsConfig != null) {
                // EnergyConsumer no longer supported
                // Save accumulated battery usage stats before resetting
                saveBatteryUsageStatsOnReset();
                saveBatteryUsageStatsOnNewSession();
                // Wipe out the current battery session data.
                resetAllStatsLocked(SystemClock.uptimeMillis(), SystemClock.elapsedRealtime(),
                        RESET_REASON_ENERGY_CONSUMER_BUCKETS_CHANGE);
+0 −27
Original line number Diff line number Diff line
@@ -17,16 +17,6 @@ flag {
    is_exported: true
}

flag {
    name: "oneway_battery_stats_service"
    namespace: "backstage_power"
    description: "Bugfix flag for locking issues and watchdog kills in BatteryStatsService"
    bug: "330792526"
    metadata {
        purpose: PURPOSE_BUGFIX
    }
}

flag {
    name: "add_battery_usage_stats_slice_atom"
    namespace: "backstage_power"
@@ -34,13 +24,6 @@ flag {
    bug: "324602949"
}

flag {
    name: "battery_usage_stats_by_power_and_screen_state"
    namespace: "backstage_power"
    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"
@@ -56,16 +39,6 @@ flag {
    is_fixed_read_only: true
}

flag {
    name: "accumulate_battery_usage_stats"
    namespace: "backstage_power"
    description: "Add support for monotonically accumulated BatteryUsageStats"
    bug: "345022340"
    metadata {
        purpose: PURPOSE_BUGFIX
    }
}

flag {
    name: "extended_battery_history_continuous_collection_enabled"
    namespace: "backstage_power"
Loading