Refine optimize page log pattern
- Add timestamp and prefix string - Chagne Action.MANUAL to LEAVE for better readability screenshot: https://screenshot.googleplex.com/ALTvMaPWVEq8y7c.png Bug: 192523697 Test: make SettingsRoboTests Change-Id: I69d1beceb98444d823f6ffc3a015cf61a7d7a66d
This commit is contained in:
@@ -15,7 +15,7 @@ message BatteryOptimizeHistoricalLogEntry {
|
|||||||
// The action to set optimize mode
|
// The action to set optimize mode
|
||||||
enum Action {
|
enum Action {
|
||||||
UNKNOWN = 0;
|
UNKNOWN = 0;
|
||||||
MANUAL = 1;
|
LEAVE = 1;
|
||||||
APPLY = 2;
|
APPLY = 2;
|
||||||
RESET = 3;
|
RESET = 3;
|
||||||
RESTORE = 4;
|
RESTORE = 4;
|
||||||
@@ -24,4 +24,5 @@ message BatteryOptimizeHistoricalLogEntry {
|
|||||||
optional string package_name = 1;
|
optional string package_name = 1;
|
||||||
optional Action action = 2;
|
optional Action action = 2;
|
||||||
optional string action_description = 3;
|
optional string action_description = 3;
|
||||||
|
optional int64 timestamp = 4;
|
||||||
}
|
}
|
@@ -291,7 +291,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
|||||||
|
|
||||||
BatteryHistoricalLogUtil.writeLog(
|
BatteryHistoricalLogUtil.writeLog(
|
||||||
getContext().getApplicationContext(),
|
getContext().getApplicationContext(),
|
||||||
Action.MANUAL,
|
Action.LEAVE,
|
||||||
BatteryHistoricalLogUtil.getPackageNameWithUserId(
|
BatteryHistoricalLogUtil.getPackageNameWithUserId(
|
||||||
mBatteryOptimizeUtils.getPackageName(), UserHandle.myUserId()),
|
mBatteryOptimizeUtils.getPackageName(), UserHandle.myUserId()),
|
||||||
mLogStringBuilder.toString());
|
mLogStringBuilder.toString());
|
||||||
|
@@ -21,6 +21,7 @@ import android.content.SharedPreferences;
|
|||||||
import android.util.Base64;
|
import android.util.Base64;
|
||||||
|
|
||||||
import com.android.settings.fuelgauge.BatteryOptimizeHistoricalLogEntry.Action;
|
import com.android.settings.fuelgauge.BatteryOptimizeHistoricalLogEntry.Action;
|
||||||
|
import com.android.settings.fuelgauge.batteryusage.ConvertUtils;
|
||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
|
|
||||||
@@ -49,6 +50,7 @@ public final class BatteryHistoricalLogUtil {
|
|||||||
.setPackageName(pkg)
|
.setPackageName(pkg)
|
||||||
.setAction(action)
|
.setAction(action)
|
||||||
.setActionDescription(actionDescription)
|
.setActionDescription(actionDescription)
|
||||||
|
.setTimestamp(System.currentTimeMillis())
|
||||||
.build());
|
.build());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -89,6 +91,7 @@ public final class BatteryHistoricalLogUtil {
|
|||||||
if (logEntryList.isEmpty()) {
|
if (logEntryList.isEmpty()) {
|
||||||
writer.println("\tNo past logs.");
|
writer.println("\tNo past logs.");
|
||||||
} else {
|
} else {
|
||||||
|
writer.println("0:RESTRICTED 1:UNRESTRICTED 2:OPTIMIZED 3:UNKNOWN");
|
||||||
logEntryList.forEach(entry -> writer.println(toString(entry)));
|
logEntryList.forEach(entry -> writer.println(toString(entry)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -101,8 +104,9 @@ public final class BatteryHistoricalLogUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static String toString(BatteryOptimizeHistoricalLogEntry entry) {
|
private static String toString(BatteryOptimizeHistoricalLogEntry entry) {
|
||||||
return String.format("%s\tAction:%s\tEvent:%s",
|
return String.format("%s\tAction:%s\tEvent:%s\tTimestamp:%s", entry.getPackageName(),
|
||||||
entry.getPackageName(), entry.getAction(), entry.getActionDescription());
|
entry.getAction(), entry.getActionDescription(),
|
||||||
|
ConvertUtils.utcToLocalTimeForLogging(entry.getTimestamp()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
|
@@ -57,17 +57,18 @@ public final class BatteryHistoricalLogUtilTest {
|
|||||||
BatteryHistoricalLogUtil.writeLog(mContext, Action.APPLY, "pkg1", "logs");
|
BatteryHistoricalLogUtil.writeLog(mContext, Action.APPLY, "pkg1", "logs");
|
||||||
BatteryHistoricalLogUtil.printBatteryOptimizeHistoricalLog(mContext, mTestPrintWriter);
|
BatteryHistoricalLogUtil.printBatteryOptimizeHistoricalLog(mContext, mTestPrintWriter);
|
||||||
|
|
||||||
assertThat(mTestStringWriter.toString()).contains("pkg1\tAction:APPLY\tEvent:logs");
|
assertThat(mTestStringWriter.toString()).contains(
|
||||||
|
"pkg1\tAction:APPLY\tEvent:logs\tTimestamp:");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void writeLog_multipleLogs_withCorrectCounts() {
|
public void writeLog_multipleLogs_withCorrectCounts() {
|
||||||
for (int i = 0; i < BatteryHistoricalLogUtil.MAX_ENTRIES; i++) {
|
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);
|
BatteryHistoricalLogUtil.printBatteryOptimizeHistoricalLog(mContext, mTestPrintWriter);
|
||||||
|
|
||||||
assertThat(mTestStringWriter.toString().split("MANUAL").length).isEqualTo(41);
|
assertThat(mTestStringWriter.toString().split("LEAVE").length).isEqualTo(41);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Reference in New Issue
Block a user