Loading src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java +34 −21 Original line number Diff line number Diff line Loading @@ -270,6 +270,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements initHeader(); if (mEnableTriState) { mOptimizationMode = mBatteryOptimizeUtils.getAppOptimizationMode(); initPreferenceForTriState(getContext()); final String packageName = mBatteryOptimizeUtils.getPackageName(); FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider() Loading @@ -286,8 +287,11 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements public void onPause() { super.onPause(); if (mEnableTriState) { Log.d(TAG, "Leave with mode: " + getSelectedPreference()); mBatteryOptimizeUtils.setAppUsageState(getSelectedPreference()); final int selectedPreference = getSelectedPreference(); logMetricCategory(selectedPreference); mBatteryOptimizeUtils.setAppUsageState(selectedPreference); Log.d(TAG, "Leave with mode: " + selectedPreference); } } Loading Loading @@ -461,16 +465,30 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements updatePreferenceState(mUnrestrictedPreference, selectedKey); updatePreferenceState(mOptimizePreference, selectedKey); updatePreferenceState(mRestrictedPreference, selectedKey); } private void updatePreferenceState(RadioButtonPreference preference, String selectedKey) { preference.setChecked(selectedKey.equals(preference.getKey())); } private void logMetricCategory(int selectedKey) { if (selectedKey == mOptimizationMode) { return; } // Logs metric. int metricCategory = 0; if (selectedKey.equals(mUnrestrictedPreference.getKey())) { switch (selectedKey) { case BatteryOptimizeUtils.MODE_UNRESTRICTED: metricCategory = SettingsEnums.ACTION_APP_BATTERY_USAGE_UNRESTRICTED; } else if (selectedKey.equals(mOptimizePreference.getKey())) { break; case BatteryOptimizeUtils.MODE_OPTIMIZED: metricCategory = SettingsEnums.ACTION_APP_BATTERY_USAGE_OPTIMIZED; } else if (selectedKey.equals(mRestrictedPreference.getKey())) { break; case BatteryOptimizeUtils.MODE_RESTRICTED: metricCategory = SettingsEnums.ACTION_APP_BATTERY_USAGE_RESTRICTED; break; } if (metricCategory != 0) { FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider() .action( Loading @@ -483,10 +501,6 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements } } private void updatePreferenceState(RadioButtonPreference preference, String selectedKey) { preference.setChecked(selectedKey.equals(preference.getKey())); } private void onCreateForTriState(String packageName) { mUnrestrictedPreference = findPreference(KEY_PREF_UNRESTRICTED); mOptimizePreference = findPreference(KEY_PREF_OPTIMIZED); Loading @@ -498,7 +512,6 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements mBatteryOptimizeUtils = new BatteryOptimizeUtils( getContext(), getArguments().getInt(EXTRA_UID), packageName); mOptimizationMode = mBatteryOptimizeUtils.getAppOptimizationMode(); } private int getSelectedPreference() { Loading tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java +32 −7 Original line number Diff line number Diff line Loading @@ -792,6 +792,18 @@ 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, Loading @@ -802,6 +814,19 @@ public class AdvancedPowerUsageDetailTest { }); } @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 public void notifyBackupManager_optimizationModeIsNotChanged_notInvokeDataChanged() { final int mode = BatteryOptimizeUtils.MODE_RESTRICTED; Loading Loading
src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java +34 −21 Original line number Diff line number Diff line Loading @@ -270,6 +270,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements initHeader(); if (mEnableTriState) { mOptimizationMode = mBatteryOptimizeUtils.getAppOptimizationMode(); initPreferenceForTriState(getContext()); final String packageName = mBatteryOptimizeUtils.getPackageName(); FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider() Loading @@ -286,8 +287,11 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements public void onPause() { super.onPause(); if (mEnableTriState) { Log.d(TAG, "Leave with mode: " + getSelectedPreference()); mBatteryOptimizeUtils.setAppUsageState(getSelectedPreference()); final int selectedPreference = getSelectedPreference(); logMetricCategory(selectedPreference); mBatteryOptimizeUtils.setAppUsageState(selectedPreference); Log.d(TAG, "Leave with mode: " + selectedPreference); } } Loading Loading @@ -461,16 +465,30 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements updatePreferenceState(mUnrestrictedPreference, selectedKey); updatePreferenceState(mOptimizePreference, selectedKey); updatePreferenceState(mRestrictedPreference, selectedKey); } private void updatePreferenceState(RadioButtonPreference preference, String selectedKey) { preference.setChecked(selectedKey.equals(preference.getKey())); } private void logMetricCategory(int selectedKey) { if (selectedKey == mOptimizationMode) { return; } // Logs metric. int metricCategory = 0; if (selectedKey.equals(mUnrestrictedPreference.getKey())) { switch (selectedKey) { case BatteryOptimizeUtils.MODE_UNRESTRICTED: metricCategory = SettingsEnums.ACTION_APP_BATTERY_USAGE_UNRESTRICTED; } else if (selectedKey.equals(mOptimizePreference.getKey())) { break; case BatteryOptimizeUtils.MODE_OPTIMIZED: metricCategory = SettingsEnums.ACTION_APP_BATTERY_USAGE_OPTIMIZED; } else if (selectedKey.equals(mRestrictedPreference.getKey())) { break; case BatteryOptimizeUtils.MODE_RESTRICTED: metricCategory = SettingsEnums.ACTION_APP_BATTERY_USAGE_RESTRICTED; break; } if (metricCategory != 0) { FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider() .action( Loading @@ -483,10 +501,6 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements } } private void updatePreferenceState(RadioButtonPreference preference, String selectedKey) { preference.setChecked(selectedKey.equals(preference.getKey())); } private void onCreateForTriState(String packageName) { mUnrestrictedPreference = findPreference(KEY_PREF_UNRESTRICTED); mOptimizePreference = findPreference(KEY_PREF_OPTIMIZED); Loading @@ -498,7 +512,6 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements mBatteryOptimizeUtils = new BatteryOptimizeUtils( getContext(), getArguments().getInt(EXTRA_UID), packageName); mOptimizationMode = mBatteryOptimizeUtils.getAppOptimizationMode(); } private int getSelectedPreference() { Loading
tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java +32 −7 Original line number Diff line number Diff line Loading @@ -792,6 +792,18 @@ 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, Loading @@ -802,6 +814,19 @@ public class AdvancedPowerUsageDetailTest { }); } @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 public void notifyBackupManager_optimizationModeIsNotChanged_notInvokeDataChanged() { final int mode = BatteryOptimizeUtils.MODE_RESTRICTED; Loading