diff --git a/protos/fuelgauge_log.proto b/protos/fuelgauge_log.proto index 6358951f312..cf87dc7b7b0 100644 --- a/protos/fuelgauge_log.proto +++ b/protos/fuelgauge_log.proto @@ -15,7 +15,7 @@ message BatteryOptimizeHistoricalLogEntry { // The action to set optimize mode enum Action { UNKNOWN = 0; - MANUAL = 1; + LEAVE = 1; APPLY = 2; RESET = 3; RESTORE = 4; @@ -24,4 +24,5 @@ message BatteryOptimizeHistoricalLogEntry { optional string package_name = 1; optional Action action = 2; optional string action_description = 3; + optional int64 timestamp = 4; } \ No newline at end of file diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java index 7fe180d0343..777e4281764 100644 --- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java +++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java @@ -291,7 +291,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements BatteryHistoricalLogUtil.writeLog( getContext().getApplicationContext(), - Action.MANUAL, + Action.LEAVE, BatteryHistoricalLogUtil.getPackageNameWithUserId( mBatteryOptimizeUtils.getPackageName(), UserHandle.myUserId()), mLogStringBuilder.toString()); diff --git a/src/com/android/settings/fuelgauge/BatteryHistoricalLogUtil.java b/src/com/android/settings/fuelgauge/BatteryHistoricalLogUtil.java index 68a8bfbfbe6..a827e6df74a 100644 --- a/src/com/android/settings/fuelgauge/BatteryHistoricalLogUtil.java +++ b/src/com/android/settings/fuelgauge/BatteryHistoricalLogUtil.java @@ -21,6 +21,7 @@ import android.content.SharedPreferences; import android.util.Base64; import com.android.settings.fuelgauge.BatteryOptimizeHistoricalLogEntry.Action; +import com.android.settings.fuelgauge.batteryusage.ConvertUtils; import com.google.common.annotations.VisibleForTesting; @@ -49,6 +50,7 @@ public final class BatteryHistoricalLogUtil { .setPackageName(pkg) .setAction(action) .setActionDescription(actionDescription) + .setTimestamp(System.currentTimeMillis()) .build()); } @@ -89,6 +91,7 @@ public final class BatteryHistoricalLogUtil { if (logEntryList.isEmpty()) { writer.println("\tNo past logs."); } else { + writer.println("0:RESTRICTED 1:UNRESTRICTED 2:OPTIMIZED 3:UNKNOWN"); logEntryList.forEach(entry -> writer.println(toString(entry))); } } @@ -101,8 +104,9 @@ public final class BatteryHistoricalLogUtil { } private static String toString(BatteryOptimizeHistoricalLogEntry entry) { - return String.format("%s\tAction:%s\tEvent:%s", - entry.getPackageName(), entry.getAction(), entry.getActionDescription()); + return String.format("%s\tAction:%s\tEvent:%s\tTimestamp:%s", entry.getPackageName(), + entry.getAction(), entry.getActionDescription(), + ConvertUtils.utcToLocalTimeForLogging(entry.getTimestamp())); } @VisibleForTesting diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHistoricalLogUtilTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHistoricalLogUtilTest.java index 844285e239b..74f62ad936d 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHistoricalLogUtilTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHistoricalLogUtilTest.java @@ -57,17 +57,18 @@ public final class BatteryHistoricalLogUtilTest { BatteryHistoricalLogUtil.writeLog(mContext, Action.APPLY, "pkg1", "logs"); BatteryHistoricalLogUtil.printBatteryOptimizeHistoricalLog(mContext, mTestPrintWriter); - assertThat(mTestStringWriter.toString()).contains("pkg1\tAction:APPLY\tEvent:logs"); + assertThat(mTestStringWriter.toString()).contains( + "pkg1\tAction:APPLY\tEvent:logs\tTimestamp:"); } @Test public void writeLog_multipleLogs_withCorrectCounts() { for (int i = 0; i < BatteryHistoricalLogUtil.MAX_ENTRIES; i++) { - BatteryHistoricalLogUtil.writeLog(mContext, Action.MANUAL, "pkg" + i, "logs"); + BatteryHistoricalLogUtil.writeLog(mContext, Action.LEAVE, "pkg" + i, "logs"); } BatteryHistoricalLogUtil.printBatteryOptimizeHistoricalLog(mContext, mTestPrintWriter); - assertThat(mTestStringWriter.toString().split("MANUAL").length).isEqualTo(41); + assertThat(mTestStringWriter.toString().split("LEAVE").length).isEqualTo(41); } @Test