Add metric for new battery relative functions for S (1/2)

Reference the table from PM requested:
https://docs.google.com/spreadsheets/d/1TC_6MLVMvOS0p1ic0wPfQ-19AOuY8Kc8FUJdqaQSM4I/edit?ts=6098b296#gid=0

Bug: 188505537
Test: make SettingsRoboTests
Change-Id: I2a4df9ab900cbeaf9885bb2dbc21ea848920bc81
This commit is contained in:
ykhung
2021-05-19 15:33:52 +08:00
committed by YUKAI HUNG
parent 9f24967458
commit a3d3c22a27
6 changed files with 51 additions and 5 deletions

View File

@@ -49,6 +49,7 @@ import com.android.settings.widget.EntityHeaderController;
import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.utils.StringUtil;
import com.android.settingslib.widget.LayoutPreference;
import com.android.settingslib.widget.RadioButtonPreference;
@@ -113,6 +114,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
@VisibleForTesting
boolean enableTriState = true;
private MetricsFeatureProvider mMetricsFeatureProvider;
private AppButtonsPreferenceController mAppButtonsPreferenceController;
private BackgroundActivityPreferenceController mBackgroundActivityPreferenceController;
@@ -240,6 +242,8 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
mMetricsFeatureProvider = FeatureFactory.getFactory(getContext())
.getMetricsFeatureProvider();
final String packageName = getArguments().getString(EXTRA_PACKAGE_NAME);
if (enableTriState) {
@@ -262,6 +266,9 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
initHeader();
if (enableTriState) {
initPreferenceForTriState(getContext());
final String packageName = mBatteryOptimizeUtils.getPackageName();
mMetricsFeatureProvider.action(getContext(),
SettingsEnums.OPEN_APP_BATTERY_USAGE, packageName);
} else {
initPreference(getContext());
}
@@ -411,9 +418,24 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
@Override
public void onRadioButtonClicked(RadioButtonPreference selected) {
updatePreferenceState(mUnrestrictedPreference, selected.getKey());
updatePreferenceState(mOptimizePreference, selected.getKey());
updatePreferenceState(mRestrictedPreference, selected.getKey());
final String selectedKey = selected.getKey();
updatePreferenceState(mUnrestrictedPreference, selectedKey);
updatePreferenceState(mOptimizePreference, 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;
}
if (metricCategory != 0) {
mMetricsFeatureProvider.action(getContext(),
metricCategory, mBatteryOptimizeUtils.getPackageName());
}
}
private void updatePreferenceState(RadioButtonPreference preference, String selectedKey) {