Merge "Load and process the battery reattribute data in the periodic job (3/5)" into main

This commit is contained in:
YK Hung
2024-06-20 16:28:03 +00:00
committed by Android (Google) Code Review
7 changed files with 30 additions and 7 deletions

View File

@@ -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);
}

View File

@@ -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;
}
}

View File

@@ -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;
}

View File

@@ -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(

View File

@@ -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

View File

@@ -58,12 +58,16 @@ public class BatteryReattributeEntity {
@NonNull
@Override
public String toString() {
final BatteryReattribute batteryReattribute =
ConvertUtils.decodeBatteryReattribute(reattributeData);
final StringBuilder builder = new StringBuilder()
.append("\nBatteryReattributeEntity{")
.append("\n\t" + utcToLocalTimeForLogging(timestampStart))
.append("\n\t" + utcToLocalTimeForLogging(timestampEnd))
.append("\n\t" + ConvertUtils.decodeBatteryReattribute(reattributeData))
.append("\n}");
return builder.toString();
.append("\n\t" + batteryReattribute);
if (batteryReattribute != null) {
builder.append("\n\t" + batteryReattribute.getReattributeDataMap());
}
return builder.append("\n}").toString();
}
}

View File

@@ -33,7 +33,7 @@ import androidx.room.RoomDatabase;
BatteryUsageSlotEntity.class,
BatteryReattributeEntity.class
},
version = 1)
version = 2)
public abstract class BatteryStateDatabase extends RoomDatabase {
private static final String TAG = "BatteryStateDatabase";
private static final String DB_FILE_NAME = "battery-usage-db-v10";