Loading src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProvider.java +3 −2 Original line number Diff line number Diff line Loading @@ -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 Loading src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtils.java +16 −2 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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()) Loading @@ -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) { Loading @@ -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() {} } tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProviderTest.java +12 −3 Original line number Diff line number Diff line Loading @@ -36,8 +36,10 @@ import java.io.StringWriter; /** Tests of {@link BugReportContentProvider}. */ @RunWith(RobolectricTestRunner.class) public final class BugReportContentProviderTest { private static final String PACKAGE_NAME1 = "com.android.settings"; private static final String PACKAGE_NAME2 = "com.android.systemui"; private static final String PACKAGE_NAME1 = "com.android.settings1"; private static final String PACKAGE_NAME2 = "com.android.settings2"; private static final String PACKAGE_NAME3 = "com.android.settings3"; private static final String PACKAGE_NAME4 = "com.android.settings4"; private Context mContext; private PrintWriter mPrintWriter; Loading @@ -57,6 +59,10 @@ public final class BugReportContentProviderTest { mContext, System.currentTimeMillis(), PACKAGE_NAME1); BatteryTestUtils.insertDataToBatteryStateTable( mContext, System.currentTimeMillis(), PACKAGE_NAME2); BatteryTestUtils.insertDataToAppUsageEventTable( mContext, /*userId=*/ 1, System.currentTimeMillis(), PACKAGE_NAME3); BatteryTestUtils.insertDataToAppUsageEventTable( mContext, /*userId=*/ 1, System.currentTimeMillis(), PACKAGE_NAME4); } @Test Loading @@ -81,9 +87,12 @@ public final class BugReportContentProviderTest { mBugReportContentProvider.dump(FileDescriptor.out, mPrintWriter, new String[] {}); String dumpContent = mStringWriter.toString(); assertThat(dumpContent).contains("DatabaseHistory"); assertThat(dumpContent).contains("Battery DatabaseHistory"); assertThat(dumpContent).contains(PACKAGE_NAME1); assertThat(dumpContent).contains(PACKAGE_NAME2); assertThat(dumpContent).contains("distinct timestamp count:2"); assertThat(dumpContent).contains("App DatabaseHistory"); assertThat(dumpContent).contains(PACKAGE_NAME3); assertThat(dumpContent).contains(PACKAGE_NAME4); } } Loading
src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProvider.java +3 −2 Original line number Diff line number Diff line Loading @@ -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 Loading
src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtils.java +16 −2 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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()) Loading @@ -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) { Loading @@ -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() {} }
tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProviderTest.java +12 −3 Original line number Diff line number Diff line Loading @@ -36,8 +36,10 @@ import java.io.StringWriter; /** Tests of {@link BugReportContentProvider}. */ @RunWith(RobolectricTestRunner.class) public final class BugReportContentProviderTest { private static final String PACKAGE_NAME1 = "com.android.settings"; private static final String PACKAGE_NAME2 = "com.android.systemui"; private static final String PACKAGE_NAME1 = "com.android.settings1"; private static final String PACKAGE_NAME2 = "com.android.settings2"; private static final String PACKAGE_NAME3 = "com.android.settings3"; private static final String PACKAGE_NAME4 = "com.android.settings4"; private Context mContext; private PrintWriter mPrintWriter; Loading @@ -57,6 +59,10 @@ public final class BugReportContentProviderTest { mContext, System.currentTimeMillis(), PACKAGE_NAME1); BatteryTestUtils.insertDataToBatteryStateTable( mContext, System.currentTimeMillis(), PACKAGE_NAME2); BatteryTestUtils.insertDataToAppUsageEventTable( mContext, /*userId=*/ 1, System.currentTimeMillis(), PACKAGE_NAME3); BatteryTestUtils.insertDataToAppUsageEventTable( mContext, /*userId=*/ 1, System.currentTimeMillis(), PACKAGE_NAME4); } @Test Loading @@ -81,9 +87,12 @@ public final class BugReportContentProviderTest { mBugReportContentProvider.dump(FileDescriptor.out, mPrintWriter, new String[] {}); String dumpContent = mStringWriter.toString(); assertThat(dumpContent).contains("DatabaseHistory"); assertThat(dumpContent).contains("Battery DatabaseHistory"); assertThat(dumpContent).contains(PACKAGE_NAME1); assertThat(dumpContent).contains(PACKAGE_NAME2); assertThat(dumpContent).contains("distinct timestamp count:2"); assertThat(dumpContent).contains("App DatabaseHistory"); assertThat(dumpContent).contains(PACKAGE_NAME3); assertThat(dumpContent).contains(PACKAGE_NAME4); } }