Dump the BatteryReattribute from the database into bugreport (2/5)
Example:
BatteryReattributeEntity{
Jun 18, 2024, 16:22:51
Jun 18, 2024, 16:23:01
reattribute_data {
key: 1001
value: 0.1
}
reattribute_data {
key: 1002
value: 0.99
}
timestamp_end: 1718727781368
timestamp_start: 1718727771368
}
BatteryReattributeEntity{
Jun 18, 2024, 16:22:31
Jun 18, 2024, 16:22:51
reattribute_data {
key: 1003
value: 1.0
}
timestamp_end: 1718727771368
timestamp_start: 1718727751368
}
Bug: 346706894
Test: atest SettingsRoboTests:com.android.settings.fuelgauge.batteryusage.bugreport
Flag: EXEMPT bug fix
Change-Id: Ie2544b9f43e399d87eb29354b401834372c3a9f7
This commit is contained in:
@@ -60,6 +60,7 @@ public final class BugReportContentProvider extends ContentProvider {
|
||||
LogUtils.dumpBatteryUsageSlotDatabaseHist(context, writer);
|
||||
LogUtils.dumpBatteryEventDatabaseHist(context, writer);
|
||||
LogUtils.dumpBatteryStateDatabaseHist(context, writer);
|
||||
LogUtils.dumpBatteryReattributeDatabaseHist(context, writer);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -19,6 +19,8 @@ package com.android.settings.fuelgauge.batteryusage.bugreport;
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
|
||||
import com.android.settings.fuelgauge.BatteryUtils;
|
||||
import com.android.settings.fuelgauge.batteryusage.AppOptModeSharedPreferencesUtils;
|
||||
import com.android.settings.fuelgauge.batteryusage.AppOptimizationModeEvent;
|
||||
@@ -29,6 +31,8 @@ import com.android.settings.fuelgauge.batteryusage.db.AppUsageEventDao;
|
||||
import com.android.settings.fuelgauge.batteryusage.db.AppUsageEventEntity;
|
||||
import com.android.settings.fuelgauge.batteryusage.db.BatteryEventDao;
|
||||
import com.android.settings.fuelgauge.batteryusage.db.BatteryEventEntity;
|
||||
import com.android.settings.fuelgauge.batteryusage.db.BatteryReattributeDao;
|
||||
import com.android.settings.fuelgauge.batteryusage.db.BatteryReattributeEntity;
|
||||
import com.android.settings.fuelgauge.batteryusage.db.BatteryState;
|
||||
import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDao;
|
||||
import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDatabase;
|
||||
@@ -127,6 +131,24 @@ public final class LogUtils {
|
||||
dumpListItems(writer, entities, entity -> entity);
|
||||
}
|
||||
|
||||
static void dumpBatteryReattributeDatabaseHist(Context context, PrintWriter writer) {
|
||||
dumpBatteryReattributeDatabaseHist(
|
||||
BatteryStateDatabase.getInstance(context).batteryReattributeDao(),
|
||||
writer);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
static void dumpBatteryReattributeDatabaseHist(
|
||||
BatteryReattributeDao batteryReattributeDao, PrintWriter writer) {
|
||||
writer.println("\n\tBatteryReattribute DatabaseHistory:");
|
||||
final List<BatteryReattributeEntity> entities =
|
||||
batteryReattributeDao.getAllAfter(
|
||||
Clock.systemUTC().millis() - DUMP_TIME_OFFSET.toMillis());
|
||||
if (entities != null && !entities.isEmpty()) {
|
||||
dumpListItems(writer, entities, entity -> entity);
|
||||
}
|
||||
}
|
||||
|
||||
private static <T, S> void dumpListItems(
|
||||
PrintWriter writer, List<T> itemList, Function<T, S> itemConverter) {
|
||||
final AtomicInteger counter = new AtomicInteger(0);
|
||||
|
||||
@@ -62,6 +62,7 @@ public class BatteryReattributeEntity {
|
||||
.append("\nBatteryReattributeEntity{")
|
||||
.append("\n\t" + utcToLocalTimeForLogging(timestampStart))
|
||||
.append("\n\t" + utcToLocalTimeForLogging(timestampEnd))
|
||||
.append("\n\t" + ConvertUtils.decodeBatteryReattribute(reattributeData))
|
||||
.append("\n}");
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user