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:
@@ -269,6 +269,8 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
mMetricsFeatureProvider.action(
|
||||
mActivity, SettingsEnums.ACTION_APP_INFO_FORCE_STOP);
|
||||
// force stop
|
||||
if (mAppsControlDisallowedAdmin != null && !mAppsControlDisallowedBySystem) {
|
||||
RestrictedLockUtils.sendShowAdminSupportDetailsIntent(
|
||||
@@ -724,6 +726,8 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
|
||||
mPackageName, AUTO_REVOKED_APP_INTERACTION__ACTION__OPEN_IN_SETTINGS);
|
||||
}
|
||||
mContext.startActivityAsUser(mAppLaunchIntent, new UserHandle(mUserId));
|
||||
mMetricsFeatureProvider.action(mActivity,
|
||||
SettingsEnums.ACTION_APP_INFO_OPEN, mPackageName);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -17,6 +17,7 @@ package com.android.settings.display;
|
||||
|
||||
import static android.provider.Settings.System.SHOW_BATTERY_PERCENT;
|
||||
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.provider.Settings;
|
||||
|
||||
@@ -28,6 +29,7 @@ import com.android.internal.R;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
|
||||
/**
|
||||
* A controller to manage the switch for showing battery percentage in the status bar.
|
||||
@@ -75,6 +77,8 @@ public class BatteryPercentagePreferenceController extends BasePreferenceControl
|
||||
boolean showPercentage = (Boolean) newValue;
|
||||
Settings.System.putInt(mContext.getContentResolver(), SHOW_BATTERY_PERCENT,
|
||||
showPercentage ? 1 : 0);
|
||||
FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
|
||||
.action(mContext, SettingsEnums.OPEN_BATTERY_PERCENTAGE, showPercentage);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -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) {
|
||||
|
@@ -27,6 +27,7 @@ import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
|
||||
/** A utility class for application usage operation. */
|
||||
public class BatteryOptimizeUtils {
|
||||
private static final String TAG = "BatteryOptimizeUtils";
|
||||
private static final String UNKNOWN_PACKAGE = "unknown";
|
||||
|
||||
@VisibleForTesting AppOpsManager mAppOpsManager;
|
||||
@VisibleForTesting BatteryUtils mBatteryUtils;
|
||||
@@ -108,6 +109,10 @@ public class BatteryOptimizeUtils {
|
||||
|| mPowerAllowListBackend.isDefaultActiveApp(mPackageName);
|
||||
}
|
||||
|
||||
String getPackageName() {
|
||||
return mPackageName == null ? UNKNOWN_PACKAGE : mPackageName;
|
||||
}
|
||||
|
||||
private void refreshState() {
|
||||
mPowerAllowListBackend.refreshList();
|
||||
mAllowListed = mPowerAllowListBackend.isAllowlisted(mPackageName);
|
||||
|
@@ -18,6 +18,7 @@
|
||||
package com.android.settings.fuelgauge;
|
||||
|
||||
import android.app.AppOpsManager;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.os.UserManager;
|
||||
|
||||
@@ -29,6 +30,7 @@ import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.core.InstrumentedPreferenceFragment;
|
||||
import com.android.settings.fuelgauge.batterytip.AppInfo;
|
||||
import com.android.settings.fuelgauge.batterytip.BatteryTipUtils;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -80,6 +82,8 @@ public class RestrictAppPreferenceController extends BasePreferenceController {
|
||||
// start fragment
|
||||
RestrictedAppDetails.startRestrictedAppDetails(mPreferenceFragment,
|
||||
mAppInfos);
|
||||
FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
|
||||
.action(mContext, SettingsEnums.OPEN_APP_RESTRICTED_LIST);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -44,8 +44,10 @@ import com.android.settings.fuelgauge.batterytip.BatteryTipPreferenceController;
|
||||
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
|
||||
import com.android.settings.fuelgauge.batterytip.tips.RestrictAppTip;
|
||||
import com.android.settings.fuelgauge.batterytip.tips.UnrestrictAppTip;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.widget.AppCheckBoxPreference;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settingslib.utils.StringUtil;
|
||||
|
||||
import java.util.List;
|
||||
@@ -76,6 +78,8 @@ public class RestrictedAppDetails extends DashboardFragment implements
|
||||
@VisibleForTesting
|
||||
BatteryDatabaseManager mBatteryDatabaseManager;
|
||||
|
||||
private MetricsFeatureProvider mMetricsFeatureProvider;
|
||||
|
||||
public static void startRestrictedAppDetails(InstrumentedPreferenceFragment fragment,
|
||||
List<AppInfo> appInfos) {
|
||||
final Bundle args = new Bundle();
|
||||
@@ -100,7 +104,8 @@ public class RestrictedAppDetails extends DashboardFragment implements
|
||||
mIconDrawableFactory = IconDrawableFactory.newInstance(context);
|
||||
mBatteryUtils = BatteryUtils.getInstance(context);
|
||||
mBatteryDatabaseManager = BatteryDatabaseManager.getInstance(context);
|
||||
|
||||
mMetricsFeatureProvider =
|
||||
FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider();
|
||||
refreshUi();
|
||||
}
|
||||
|
||||
@@ -162,7 +167,9 @@ public class RestrictedAppDetails extends DashboardFragment implements
|
||||
(Boolean) value);
|
||||
fragment.setTargetFragment(this, 0 /* requestCode */);
|
||||
fragment.show(getFragmentManager(), TAG);
|
||||
|
||||
mMetricsFeatureProvider.action(getContext(),
|
||||
SettingsEnums.ACTION_APP_RESTRICTED_LIST_UNCHECKED,
|
||||
appInfo.packageName);
|
||||
return false;
|
||||
});
|
||||
|
||||
|
Reference in New Issue
Block a user