Merge "Adjust optimize page logging timing" into sc-v2-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
b4e13a7af0
@@ -270,6 +270,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
|||||||
|
|
||||||
initHeader();
|
initHeader();
|
||||||
if (mEnableTriState) {
|
if (mEnableTriState) {
|
||||||
|
mOptimizationMode = mBatteryOptimizeUtils.getAppOptimizationMode();
|
||||||
initPreferenceForTriState(getContext());
|
initPreferenceForTriState(getContext());
|
||||||
final String packageName = mBatteryOptimizeUtils.getPackageName();
|
final String packageName = mBatteryOptimizeUtils.getPackageName();
|
||||||
FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
|
FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
|
||||||
@@ -286,8 +287,11 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
|||||||
public void onPause() {
|
public void onPause() {
|
||||||
super.onPause();
|
super.onPause();
|
||||||
if (mEnableTriState) {
|
if (mEnableTriState) {
|
||||||
Log.d(TAG, "Leave with mode: " + getSelectedPreference());
|
final int selectedPreference = getSelectedPreference();
|
||||||
mBatteryOptimizeUtils.setAppUsageState(getSelectedPreference());
|
|
||||||
|
logMetricCategory(selectedPreference);
|
||||||
|
mBatteryOptimizeUtils.setAppUsageState(selectedPreference);
|
||||||
|
Log.d(TAG, "Leave with mode: " + selectedPreference);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -461,16 +465,30 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
|||||||
updatePreferenceState(mUnrestrictedPreference, selectedKey);
|
updatePreferenceState(mUnrestrictedPreference, selectedKey);
|
||||||
updatePreferenceState(mOptimizePreference, selectedKey);
|
updatePreferenceState(mOptimizePreference, selectedKey);
|
||||||
updatePreferenceState(mRestrictedPreference, selectedKey);
|
updatePreferenceState(mRestrictedPreference, selectedKey);
|
||||||
|
|
||||||
// Logs metric.
|
|
||||||
int metricCategory = 0;
|
|
||||||
if (selectedKey.equals(mUnrestrictedPreference.getKey())) {
|
|
||||||
metricCategory = SettingsEnums.ACTION_APP_BATTERY_USAGE_UNRESTRICTED;
|
|
||||||
} else if (selectedKey.equals(mOptimizePreference.getKey())) {
|
|
||||||
metricCategory = SettingsEnums.ACTION_APP_BATTERY_USAGE_OPTIMIZED;
|
|
||||||
} else if (selectedKey.equals(mRestrictedPreference.getKey())) {
|
|
||||||
metricCategory = SettingsEnums.ACTION_APP_BATTERY_USAGE_RESTRICTED;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updatePreferenceState(RadioButtonPreference preference, String selectedKey) {
|
||||||
|
preference.setChecked(selectedKey.equals(preference.getKey()));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void logMetricCategory(int selectedKey) {
|
||||||
|
if (selectedKey == mOptimizationMode) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int metricCategory = 0;
|
||||||
|
switch (selectedKey) {
|
||||||
|
case BatteryOptimizeUtils.MODE_UNRESTRICTED:
|
||||||
|
metricCategory = SettingsEnums.ACTION_APP_BATTERY_USAGE_UNRESTRICTED;
|
||||||
|
break;
|
||||||
|
case BatteryOptimizeUtils.MODE_OPTIMIZED:
|
||||||
|
metricCategory = SettingsEnums.ACTION_APP_BATTERY_USAGE_OPTIMIZED;
|
||||||
|
break;
|
||||||
|
case BatteryOptimizeUtils.MODE_RESTRICTED:
|
||||||
|
metricCategory = SettingsEnums.ACTION_APP_BATTERY_USAGE_RESTRICTED;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (metricCategory != 0) {
|
if (metricCategory != 0) {
|
||||||
FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
|
FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
|
||||||
.action(
|
.action(
|
||||||
@@ -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) {
|
private void onCreateForTriState(String packageName) {
|
||||||
mUnrestrictedPreference = findPreference(KEY_PREF_UNRESTRICTED);
|
mUnrestrictedPreference = findPreference(KEY_PREF_UNRESTRICTED);
|
||||||
mOptimizePreference = findPreference(KEY_PREF_OPTIMIZED);
|
mOptimizePreference = findPreference(KEY_PREF_OPTIMIZED);
|
||||||
@@ -498,7 +512,6 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
|||||||
|
|
||||||
mBatteryOptimizeUtils = new BatteryOptimizeUtils(
|
mBatteryOptimizeUtils = new BatteryOptimizeUtils(
|
||||||
getContext(), getArguments().getInt(EXTRA_UID), packageName);
|
getContext(), getArguments().getInt(EXTRA_UID), packageName);
|
||||||
mOptimizationMode = mBatteryOptimizeUtils.getAppOptimizationMode();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getSelectedPreference() {
|
private int getSelectedPreference() {
|
||||||
|
@@ -792,6 +792,18 @@ public class AdvancedPowerUsageDetailTest {
|
|||||||
assertThat(mOptimizePreference.isChecked()).isTrue();
|
assertThat(mOptimizePreference.isChecked()).isTrue();
|
||||||
assertThat(mRestrictedPreference.isChecked()).isFalse();
|
assertThat(mRestrictedPreference.isChecked()).isFalse();
|
||||||
assertThat(mUnrestrictedPreference.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)
|
verify(mMetricsFeatureProvider)
|
||||||
.action(
|
.action(
|
||||||
mContext,
|
mContext,
|
||||||
@@ -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
|
@Test
|
||||||
public void notifyBackupManager_optimizationModeIsNotChanged_notInvokeDataChanged() {
|
public void notifyBackupManager_optimizationModeIsNotChanged_notInvokeDataChanged() {
|
||||||
final int mode = BatteryOptimizeUtils.MODE_RESTRICTED;
|
final int mode = BatteryOptimizeUtils.MODE_RESTRICTED;
|
||||||
|
Reference in New Issue
Block a user