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
This commit is contained in:
Wesley Wang
2022-09-28 18:12:35 +08:00
parent bd25f4a303
commit d90026d184
11 changed files with 309 additions and 21 deletions

View File

@@ -51,6 +51,7 @@ import android.os.UserHandle;
import android.os.UserManager;
import android.util.ArraySet;
import com.android.settings.fuelgauge.BatteryOptimizeHistoricalLogEntry.Action;
import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
import org.junit.After;
@@ -312,8 +313,9 @@ public final class BatteryBackupHelperTest {
TimeUnit.SECONDS.sleep(1);
final InOrder inOrder = inOrder(mBatteryOptimizeUtils);
inOrder.verify(mBatteryOptimizeUtils).setAppUsageState(MODE_RESTRICTED);
inOrder.verify(mBatteryOptimizeUtils, never()).setAppUsageState(anyInt());
inOrder.verify(mBatteryOptimizeUtils).setAppUsageState(MODE_RESTRICTED, Action.RESTORE);
inOrder.verify(mBatteryOptimizeUtils, never())
.setAppUsageState(anyInt(), eq(Action.RESTORE));
}
@Test
@@ -327,9 +329,10 @@ public final class BatteryBackupHelperTest {
TimeUnit.SECONDS.sleep(1);
final InOrder inOrder = inOrder(mBatteryOptimizeUtils);
inOrder.verify(mBatteryOptimizeUtils).setAppUsageState(MODE_RESTRICTED);
inOrder.verify(mBatteryOptimizeUtils).setAppUsageState(MODE_UNRESTRICTED);
inOrder.verify(mBatteryOptimizeUtils, never()).setAppUsageState(MODE_RESTRICTED);
inOrder.verify(mBatteryOptimizeUtils).setAppUsageState(MODE_RESTRICTED, Action.RESTORE);
inOrder.verify(mBatteryOptimizeUtils).setAppUsageState(MODE_UNRESTRICTED, Action.RESTORE);
inOrder.verify(mBatteryOptimizeUtils, never())
.setAppUsageState(MODE_RESTRICTED, Action.RESTORE);
}
private void mockUid(int uid, String packageName) throws Exception {