Add BatteryHistoricalLogUtil class
- Impl optimize mode log mechanism to record optimize setup flow
- Log optimize action with MANUAL, APPLY, RESET and RESTORE
- Use proto file to serialize logs
sample result: https://screenshot.googleplex.com/5KPrHVGb4pMvS7V.png
Bug: 241735485
Test: make SettingsRoboTests
Change-Id: I879663de4cf45d0cfb9cd7eee957eeb65addfbe1
diff --git a/protos/Android.bp b/protos/Android.bp
index fbcf645..d546e2d 100644
--- a/protos/Android.bp
+++ b/protos/Android.bp
@@ -33,3 +33,11 @@
},
srcs: ["network_mode_choices.proto"],
}
+
+java_library {
+ name: "fuelgauge-log-protos-lite",
+ proto: {
+ type: "lite",
+ },
+ srcs: ["fuelgauge_log.proto"],
+}
diff --git a/protos/fuelgauge_log.proto b/protos/fuelgauge_log.proto
new file mode 100644
index 0000000..6358951
--- /dev/null
+++ b/protos/fuelgauge_log.proto
@@ -0,0 +1,27 @@
+syntax = "proto2";
+
+package com.android.settings.intelligence;
+option java_multiple_files = true;
+option java_package = "com.android.settings.fuelgauge";
+option java_outer_classname = "FuelgaugeLogProto";
+
+// Stores history of setting optimize mode
+message BatteryOptimizeHistoricalLog {
+ repeated BatteryOptimizeHistoricalLogEntry log_entry = 1;
+}
+
+message BatteryOptimizeHistoricalLogEntry {
+
+ // The action to set optimize mode
+ enum Action {
+ UNKNOWN = 0;
+ MANUAL = 1;
+ APPLY = 2;
+ RESET = 3;
+ RESTORE = 4;
+ }
+
+ optional string package_name = 1;
+ optional Action action = 2;
+ optional string action_description = 3;
+}
\ No newline at end of file