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

Commit 98319ac0 authored by YK Hung's avatar YK Hung
Browse files

Load and process the battery reattribute data in the periodic job (3/5)

Bug: 346706894
Fix: 348156270
Test: atest SettingsRoboTests:com.android.settings.fuelgauge.batteryusage
Flag: EXEMPT bug fix
Change-Id: Ibaa1d9d960aa6a885307fbb3dd3a62aaeb32de23
parent d226a976
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -23,11 +23,13 @@ import android.os.Bundle;
import android.util.ArrayMap;
import android.util.SparseIntArray;

import com.android.settings.fuelgauge.batteryusage.BatteryDiffData;
import com.android.settings.fuelgauge.batteryusage.DetectRequestSourceType;
import com.android.settings.fuelgauge.batteryusage.PowerAnomalyEventList;
import com.android.settingslib.fuelgauge.Estimate;

import java.util.List;
import java.util.Map;
import java.util.Set;

/** Feature Provider used in power usage */
@@ -157,4 +159,8 @@ public interface PowerUsageFeatureProvider {

    /** Whether the device is under the battery defender mode */
    boolean isBatteryDefend(BatteryInfo info);

    /** Collect and process battery reattribute data if needed. */
    boolean processBatteryReattributeData(
            Context context, Map<Long, BatteryDiffData> batteryDiffDataMap);
}
+8 −0
Original line number Diff line number Diff line
@@ -28,12 +28,14 @@ import android.util.ArraySet;
import android.util.SparseIntArray;

import com.android.internal.util.ArrayUtils;
import com.android.settings.fuelgauge.batteryusage.BatteryDiffData;
import com.android.settings.fuelgauge.batteryusage.DetectRequestSourceType;
import com.android.settings.fuelgauge.batteryusage.PowerAnomalyEventList;
import com.android.settingslib.fuelgauge.Estimate;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;

/** Implementation of {@code PowerUsageFeatureProvider} */
@@ -245,4 +247,10 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider
    public boolean isBatteryDefend(BatteryInfo info) {
        return info.isBatteryDefender && !isExtraDefend();
    }

    @Override
    public boolean processBatteryReattributeData(
            Context context, Map<Long, BatteryDiffData> batteryDiffDataMap) {
        return false;
    }
}
+4 −2
Original line number Diff line number Diff line
@@ -77,11 +77,13 @@ public class BatteryDiffData {
        processAndSortEntries(mSystemEntries);
    }

    long getStartTimestamp() {
    /** Gets the start timestamp. */
    public long getStartTimestamp() {
        return mStartTimestamp;
    }

    long getEndTimestamp() {
    /** Gets the end timestamp. */
    public long getEndTimestamp() {
        return mEndTimestamp;
    }

+3 −0
Original line number Diff line number Diff line
@@ -128,6 +128,9 @@ public final class BatteryUsageDataLoader {
                            final PowerUsageFeatureProvider featureProvider =
                                    FeatureFactory.getFeatureFactory()
                                            .getPowerUsageFeatureProvider();
                            // Collect and process battery reattribute data.
                            featureProvider.processBatteryReattributeData(
                                    context, batteryDiffDataMap);
                            DatabaseUtils.sendBatteryUsageSlotData(
                                    context,
                                    ConvertUtils.convertToBatteryUsageSlotList(
+1 −1
Original line number Diff line number Diff line
@@ -55,12 +55,12 @@ public final class BugReportContentProvider extends ContentProvider {
        }
        writer.println("dump BatteryUsage and AppUsage states:");
        LogUtils.dumpAppOptimizationModeEventHist(context, writer);
        LogUtils.dumpBatteryReattributeDatabaseHist(context, writer);
        LogUtils.dumpBatteryUsageDatabaseHist(context, writer);
        LogUtils.dumpAppUsageDatabaseHist(context, writer);
        LogUtils.dumpBatteryUsageSlotDatabaseHist(context, writer);
        LogUtils.dumpBatteryEventDatabaseHist(context, writer);
        LogUtils.dumpBatteryStateDatabaseHist(context, writer);
        LogUtils.dumpBatteryReattributeDatabaseHist(context, writer);
    }

    @Override
Loading