Merge "Refine optimize page log pattern" into udc-dev
diff --git a/protos/fuelgauge_log.proto b/protos/fuelgauge_log.proto
index 6358951..cf87dc7 100644
--- a/protos/fuelgauge_log.proto
+++ b/protos/fuelgauge_log.proto
@@ -15,7 +15,7 @@
   // The action to set optimize mode
   enum Action {
     UNKNOWN = 0;
-    MANUAL = 1;
+    LEAVE = 1;
     APPLY = 2;
     RESET = 3;
     RESTORE = 4;
@@ -24,4 +24,5 @@
   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 7fe180d..777e428 100644
--- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
@@ -291,7 +291,7 @@
 
         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 68a8bfb..a827e6d 100644
--- a/src/com/android/settings/fuelgauge/BatteryHistoricalLogUtil.java
+++ b/src/com/android/settings/fuelgauge/BatteryHistoricalLogUtil.java
@@ -21,6 +21,7 @@
 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 @@
                         .setPackageName(pkg)
                         .setAction(action)
                         .setActionDescription(actionDescription)
+                        .setTimestamp(System.currentTimeMillis())
                         .build());
     }
 
@@ -89,6 +91,7 @@
         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 @@
     }
 
     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 844285e..74f62ad 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 @@
         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