Dump app usage event data in db in BugReportContentProvider.

Test: make RunSettingsRoboTests
Bug: 260965327
Change-Id: I9f7ac74ed53b19d6ce9be3afa3ecf2a602d6309b
This commit is contained in:
Kuan Wang
2022-12-27 11:57:58 +08:00
parent 23a91ff7d9
commit b2b74d8a8b
3 changed files with 31 additions and 7 deletions

View File

@@ -48,8 +48,9 @@ public final class BugReportContentProvider extends ContentProvider {
Log.w(TAG, "ignore battery usage states dump in the work profile");
return;
}
writer.println("dump BatteryUsage states:");
LogUtils.dumpUsageDatabaseHist(context, writer);
writer.println("dump BatteryUsage and AppUsage states:");
LogUtils.dumpBatteryUsageDatabaseHist(context, writer);
LogUtils.dumpAppUsageDatabaseHist(context, writer);
}
@Override

View File

@@ -19,6 +19,8 @@ package com.android.settings.fuelgauge.batteryusage.bugreport;
import android.content.Context;
import android.util.Log;
import com.android.settings.fuelgauge.batteryusage.db.AppUsageEventDao;
import com.android.settings.fuelgauge.batteryusage.db.AppUsageEventEntity;
import com.android.settings.fuelgauge.batteryusage.db.BatteryState;
import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDao;
import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDatabase;
@@ -38,7 +40,7 @@ public final class LogUtils {
private static final Duration DUMP_TIME_OFFSET_FOR_ENTRY = Duration.ofHours(4);
@SuppressWarnings("JavaUtilDate")
static void dumpUsageDatabaseHist(Context context, PrintWriter writer) {
static void dumpBatteryUsageDatabaseHist(Context context, PrintWriter writer) {
final BatteryStateDao dao =
BatteryStateDatabase
.getInstance(context.getApplicationContext())
@@ -48,7 +50,7 @@ public final class LogUtils {
// Gets all distinct timestamps.
final List<Long> timestamps = dao.getDistinctTimestamps(timeOffset);
final int distinctCount = timestamps.size();
writer.println("\n\tDatabaseHistory:");
writer.println("\n\tBattery DatabaseHistory:");
writer.println("distinct timestamp count:" + distinctCount);
Log.w(TAG, "distinct timestamp count:" + distinctCount);
if (distinctCount == 0) {
@@ -68,5 +70,17 @@ public final class LogUtils {
stateList.stream().forEach(state -> writer.println(state));
}
@SuppressWarnings("JavaUtilDate")
static void dumpAppUsageDatabaseHist(Context context, PrintWriter writer) {
final AppUsageEventDao dao =
BatteryStateDatabase
.getInstance(context.getApplicationContext())
.appUsageEventDao();
writer.println("\n\tApp DatabaseHistory:");
final List<AppUsageEventEntity> eventList = dao.getAllAfter(
Clock.systemUTC().millis() - DUMP_TIME_OFFSET_FOR_ENTRY.toMillis());
eventList.stream().forEach(event -> writer.println(event));
}
private LogUtils() {}
}