Adjust optimize page logging timing

- Log the optimize mode only when leave this page and mode changed
 - Update mOptimizationMode at onResume to make sure the state is sync
 with framework

Bug: 195306545
Test: make SettingsRoboTests
Change-Id: Iab116220cd7d2b1bdb1c170c4b47016c763bf4fe
This commit is contained in:
Wesley.CW Wang
2021-11-02 17:21:06 +08:00
parent 151b88f76f
commit 7fb4cbf005
2 changed files with 68 additions and 30 deletions

View File

@@ -792,14 +792,39 @@ public class AdvancedPowerUsageDetailTest {
assertThat(mOptimizePreference.isChecked()).isTrue();
assertThat(mRestrictedPreference.isChecked()).isFalse();
assertThat(mUnrestrictedPreference.isChecked()).isFalse();
}
@Test
public void testOnPause_optimizationModeChanged_logPreference() {
final int mode = BatteryOptimizeUtils.MODE_RESTRICTED;
mFragment.mOptimizationMode = mode;
when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(mode);
mOptimizePreference.setKey(KEY_PREF_OPTIMIZED);
mFragment.onRadioButtonClicked(mOptimizePreference);
mFragment.onPause();
verify(mMetricsFeatureProvider)
.action(
mContext,
SettingsEnums.ACTION_APP_BATTERY_USAGE_OPTIMIZED,
(Pair<Integer, Object>[]) new Pair[] {
new Pair(ConvertUtils.METRIC_KEY_PACKAGE, null),
new Pair(ConvertUtils.METRIC_KEY_BATTERY_USAGE, "app label")
});
.action(
mContext,
SettingsEnums.ACTION_APP_BATTERY_USAGE_OPTIMIZED,
(Pair<Integer, Object>[]) new Pair[] {
new Pair(ConvertUtils.METRIC_KEY_PACKAGE, null),
new Pair(ConvertUtils.METRIC_KEY_BATTERY_USAGE, "app label")
});
}
@Test
public void testOnPause_optimizationModeIsNotChanged_notInvokeLogging() {
final int mode = BatteryOptimizeUtils.MODE_OPTIMIZED;
mFragment.mOptimizationMode = mode;
when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(mode);
mOptimizePreference.setKey(KEY_PREF_OPTIMIZED);
mFragment.onRadioButtonClicked(mOptimizePreference);
mFragment.onPause();
verifyZeroInteractions(mMetricsFeatureProvider);
}
@Test