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

Commit 842b134e authored by Dmitri Plotnikov's avatar Dmitri Plotnikov
Browse files

Move BatteryStatsImpl to com.android.server.power.stats

Bug: 235635119
Test: atest FrameworksCoreTests:BatteryStatsTests
Test: atest FrameworksServicesTests:BatteryStatsTests
Test: atest BatteryUsageStatsProtoTests:BatteryUsageStatsPulledTest
NoNonSdkCheck: BatteryStatsImpl is being permanently moved to a different package. All data available via these hidden API is also available in dumpsys.
Change-Id: I39be1c66c23f43d339f9076c6b87902f6ef35967
parent 7b0313fd
Loading
Loading
Loading
Loading
+5 −17
Original line number Diff line number Diff line
@@ -52,7 +52,6 @@ import android.util.proto.ProtoOutputStream;
import android.view.Display;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.os.BatteryUsageStatsProvider;

import com.google.android.collect.Lists;

@@ -4536,7 +4535,7 @@ public abstract class BatteryStats implements Parcelable {
            }
        }

        final BatteryUsageStats stats = getBatteryUsageStats(context);
        final BatteryUsageStats stats = getBatteryUsageStats(context, true /* detailed */);
        dumpLine(pw, 0 /* uid */, category, POWER_USE_SUMMARY_DATA,
                formatCharge(stats.getBatteryCapacity()),
                formatCharge(stats.getConsumedPower()),
@@ -5725,14 +5724,8 @@ public abstract class BatteryStats implements Parcelable {
        pw.println(getDischargeAmountScreenDozeSinceCharge());
        pw.println();

        final BatteryUsageStatsProvider provider = new BatteryUsageStatsProvider(context, this);
        final BatteryUsageStats stats = provider.getBatteryUsageStats(
                new BatteryUsageStatsQuery.Builder()
                        .setMaxStatsAgeMs(0)
                        .includePowerModels()
                        .includeProcessStateData()
                        .includeVirtualUids()
                        .build());

        BatteryUsageStats stats = getBatteryUsageStats(context, true /* detailed */);
        stats.dump(pw, prefix);

        List<UidMobileRadioStats> uidMobileRadioStats =
@@ -7730,7 +7723,7 @@ public abstract class BatteryStats implements Parcelable {
        proto.write(BatteryStatsProto.END_PLATFORM_VERSION, getEndPlatformVersion());

        if ((flags & DUMP_DAILY_ONLY) == 0) {
            final BatteryUsageStats stats = getBatteryUsageStats(context);
            final BatteryUsageStats stats = getBatteryUsageStats(context, false /* detailed */);
            ProportionalAttributionCalculator proportionalAttributionCalculator =
                    new ProportionalAttributionCalculator(context, stats);
            dumpProtoAppsLocked(proto, stats, apps, proportionalAttributionCalculator);
@@ -8679,12 +8672,7 @@ public abstract class BatteryStats implements Parcelable {
        return !tm.isDataCapable();
    }

    private BatteryUsageStats getBatteryUsageStats(Context context) {
        final BatteryUsageStatsProvider provider = new BatteryUsageStatsProvider(context, this);
        final BatteryUsageStatsQuery query =
                new BatteryUsageStatsQuery.Builder().setMaxStatsAgeMs(0).build();
        return provider.getBatteryUsageStats(query);
    }
    protected abstract BatteryUsageStats getBatteryUsageStats(Context context, boolean detailed);

    private boolean shouldHidePowerComponent(int powerComponent) {
        return powerComponent == BatteryConsumer.POWER_COMPONENT_IDLE
+0 −2
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@

package com.android.internal.app;

import com.android.internal.os.BatteryStatsImpl;

import android.bluetooth.BluetoothActivityEnergyInfo;
import android.os.BatteryUsageStats;
import android.os.BatteryUsageStatsQuery;
+1 −1
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@ public class KernelSingleUidTimeReader {

    private static final native boolean canReadBpfTimes();

    KernelSingleUidTimeReader(int cpuFreqsCount) {
    public KernelSingleUidTimeReader(int cpuFreqsCount) {
        this(cpuFreqsCount, new Injector());
    }

+2 −1
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import static android.os.Process.PROC_PARENS;
import static android.os.Process.PROC_SPACE_TERM;

import android.compat.annotation.UnsupportedAppUsage;
import android.os.BatteryStats;
import android.os.Build;
import android.os.CpuUsageProto;
import android.os.Process;
@@ -196,7 +197,7 @@ public class ProcessCpuTracker {
        final ArrayList<Stats> threadStats;
        final ArrayList<Stats> workingThreads;

        public BatteryStatsImpl.Uid.Proc batteryStats;
        public BatteryStats.Uid.Proc batteryStats;

        public boolean interesting;

+2 −3
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ import java.util.Arrays;
public class MeasuredEnergyStats {
    private static final String TAG = "MeasuredEnergyStats";

    // Note: {@link com.android.internal.os.BatteryStatsImpl#VERSION} MUST be updated if standard
    // Note: {@link BatteryStats#VERSION} MUST be updated if standard
    // power bucket integers are modified/added/removed.
    public static final int POWER_BUCKET_UNKNOWN = -1;
    public static final int POWER_BUCKET_SCREEN_ON = 0;
@@ -309,8 +309,7 @@ public class MeasuredEnergyStats {
     * Read from summary parcel.
     * Note: Measured subsystem (and therefore bucket) availability may be different from when the
     * summary parcel was written. Availability has already been correctly set in the constructor.
     * Note: {@link com.android.internal.os.BatteryStatsImpl#VERSION} must be updated if summary
     *       parceling changes.
     * Note: {@link android.os.BatteryStats#VERSION} must be updated if summary parceling changes.
     *
     * Corresponding write performed by {@link #writeSummaryToParcel(Parcel)}.
     */
Loading