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
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
|
mMetricsFeatureProvider.action(
|
||||||
|
mActivity, SettingsEnums.ACTION_APP_INFO_FORCE_STOP);
|
||||||
// force stop
|
// force stop
|
||||||
if (mAppsControlDisallowedAdmin != null && !mAppsControlDisallowedBySystem) {
|
if (mAppsControlDisallowedAdmin != null && !mAppsControlDisallowedBySystem) {
|
||||||
RestrictedLockUtils.sendShowAdminSupportDetailsIntent(
|
RestrictedLockUtils.sendShowAdminSupportDetailsIntent(
|
||||||
@@ -724,6 +726,8 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
|
|||||||
mPackageName, AUTO_REVOKED_APP_INTERACTION__ACTION__OPEN_IN_SETTINGS);
|
mPackageName, AUTO_REVOKED_APP_INTERACTION__ACTION__OPEN_IN_SETTINGS);
|
||||||
}
|
}
|
||||||
mContext.startActivityAsUser(mAppLaunchIntent, new UserHandle(mUserId));
|
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 static android.provider.Settings.System.SHOW_BATTERY_PERCENT;
|
||||||
|
|
||||||
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
|
||||||
@@ -28,6 +29,7 @@ import com.android.internal.R;
|
|||||||
import com.android.settings.Utils;
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.BasePreferenceController;
|
||||||
import com.android.settings.core.PreferenceControllerMixin;
|
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.
|
* 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;
|
boolean showPercentage = (Boolean) newValue;
|
||||||
Settings.System.putInt(mContext.getContentResolver(), SHOW_BATTERY_PERCENT,
|
Settings.System.putInt(mContext.getContentResolver(), SHOW_BATTERY_PERCENT,
|
||||||
showPercentage ? 1 : 0);
|
showPercentage ? 1 : 0);
|
||||||
|
FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
|
||||||
|
.action(mContext, SettingsEnums.OPEN_BATTERY_PERCENTAGE, showPercentage);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -49,6 +49,7 @@ import com.android.settings.widget.EntityHeaderController;
|
|||||||
import com.android.settingslib.applications.AppUtils;
|
import com.android.settingslib.applications.AppUtils;
|
||||||
import com.android.settingslib.applications.ApplicationsState;
|
import com.android.settingslib.applications.ApplicationsState;
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
|
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||||
import com.android.settingslib.utils.StringUtil;
|
import com.android.settingslib.utils.StringUtil;
|
||||||
import com.android.settingslib.widget.LayoutPreference;
|
import com.android.settingslib.widget.LayoutPreference;
|
||||||
import com.android.settingslib.widget.RadioButtonPreference;
|
import com.android.settingslib.widget.RadioButtonPreference;
|
||||||
@@ -113,6 +114,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
|||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
boolean enableTriState = true;
|
boolean enableTriState = true;
|
||||||
|
|
||||||
|
private MetricsFeatureProvider mMetricsFeatureProvider;
|
||||||
private AppButtonsPreferenceController mAppButtonsPreferenceController;
|
private AppButtonsPreferenceController mAppButtonsPreferenceController;
|
||||||
private BackgroundActivityPreferenceController mBackgroundActivityPreferenceController;
|
private BackgroundActivityPreferenceController mBackgroundActivityPreferenceController;
|
||||||
|
|
||||||
@@ -240,6 +242,8 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
|||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle icicle) {
|
public void onCreate(Bundle icicle) {
|
||||||
super.onCreate(icicle);
|
super.onCreate(icicle);
|
||||||
|
mMetricsFeatureProvider = FeatureFactory.getFactory(getContext())
|
||||||
|
.getMetricsFeatureProvider();
|
||||||
|
|
||||||
final String packageName = getArguments().getString(EXTRA_PACKAGE_NAME);
|
final String packageName = getArguments().getString(EXTRA_PACKAGE_NAME);
|
||||||
if (enableTriState) {
|
if (enableTriState) {
|
||||||
@@ -262,6 +266,9 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
|||||||
initHeader();
|
initHeader();
|
||||||
if (enableTriState) {
|
if (enableTriState) {
|
||||||
initPreferenceForTriState(getContext());
|
initPreferenceForTriState(getContext());
|
||||||
|
final String packageName = mBatteryOptimizeUtils.getPackageName();
|
||||||
|
mMetricsFeatureProvider.action(getContext(),
|
||||||
|
SettingsEnums.OPEN_APP_BATTERY_USAGE, packageName);
|
||||||
} else {
|
} else {
|
||||||
initPreference(getContext());
|
initPreference(getContext());
|
||||||
}
|
}
|
||||||
@@ -411,9 +418,24 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRadioButtonClicked(RadioButtonPreference selected) {
|
public void onRadioButtonClicked(RadioButtonPreference selected) {
|
||||||
updatePreferenceState(mUnrestrictedPreference, selected.getKey());
|
final String selectedKey = selected.getKey();
|
||||||
updatePreferenceState(mOptimizePreference, selected.getKey());
|
updatePreferenceState(mUnrestrictedPreference, selectedKey);
|
||||||
updatePreferenceState(mRestrictedPreference, selected.getKey());
|
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) {
|
private void updatePreferenceState(RadioButtonPreference preference, String selectedKey) {
|
||||||
|
@@ -27,6 +27,7 @@ import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
|
|||||||
/** A utility class for application usage operation. */
|
/** A utility class for application usage operation. */
|
||||||
public class BatteryOptimizeUtils {
|
public class BatteryOptimizeUtils {
|
||||||
private static final String TAG = "BatteryOptimizeUtils";
|
private static final String TAG = "BatteryOptimizeUtils";
|
||||||
|
private static final String UNKNOWN_PACKAGE = "unknown";
|
||||||
|
|
||||||
@VisibleForTesting AppOpsManager mAppOpsManager;
|
@VisibleForTesting AppOpsManager mAppOpsManager;
|
||||||
@VisibleForTesting BatteryUtils mBatteryUtils;
|
@VisibleForTesting BatteryUtils mBatteryUtils;
|
||||||
@@ -108,6 +109,10 @@ public class BatteryOptimizeUtils {
|
|||||||
|| mPowerAllowListBackend.isDefaultActiveApp(mPackageName);
|
|| mPowerAllowListBackend.isDefaultActiveApp(mPackageName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String getPackageName() {
|
||||||
|
return mPackageName == null ? UNKNOWN_PACKAGE : mPackageName;
|
||||||
|
}
|
||||||
|
|
||||||
private void refreshState() {
|
private void refreshState() {
|
||||||
mPowerAllowListBackend.refreshList();
|
mPowerAllowListBackend.refreshList();
|
||||||
mAllowListed = mPowerAllowListBackend.isAllowlisted(mPackageName);
|
mAllowListed = mPowerAllowListBackend.isAllowlisted(mPackageName);
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
package com.android.settings.fuelgauge;
|
package com.android.settings.fuelgauge;
|
||||||
|
|
||||||
import android.app.AppOpsManager;
|
import android.app.AppOpsManager;
|
||||||
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
|
|
||||||
@@ -29,6 +30,7 @@ import com.android.settings.core.BasePreferenceController;
|
|||||||
import com.android.settings.core.InstrumentedPreferenceFragment;
|
import com.android.settings.core.InstrumentedPreferenceFragment;
|
||||||
import com.android.settings.fuelgauge.batterytip.AppInfo;
|
import com.android.settings.fuelgauge.batterytip.AppInfo;
|
||||||
import com.android.settings.fuelgauge.batterytip.BatteryTipUtils;
|
import com.android.settings.fuelgauge.batterytip.BatteryTipUtils;
|
||||||
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -80,6 +82,8 @@ public class RestrictAppPreferenceController extends BasePreferenceController {
|
|||||||
// start fragment
|
// start fragment
|
||||||
RestrictedAppDetails.startRestrictedAppDetails(mPreferenceFragment,
|
RestrictedAppDetails.startRestrictedAppDetails(mPreferenceFragment,
|
||||||
mAppInfos);
|
mAppInfos);
|
||||||
|
FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
|
||||||
|
.action(mContext, SettingsEnums.OPEN_APP_RESTRICTED_LIST);
|
||||||
return true;
|
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.BatteryTip;
|
||||||
import com.android.settings.fuelgauge.batterytip.tips.RestrictAppTip;
|
import com.android.settings.fuelgauge.batterytip.tips.RestrictAppTip;
|
||||||
import com.android.settings.fuelgauge.batterytip.tips.UnrestrictAppTip;
|
import com.android.settings.fuelgauge.batterytip.tips.UnrestrictAppTip;
|
||||||
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
import com.android.settings.widget.AppCheckBoxPreference;
|
import com.android.settings.widget.AppCheckBoxPreference;
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
|
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||||
import com.android.settingslib.utils.StringUtil;
|
import com.android.settingslib.utils.StringUtil;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -76,6 +78,8 @@ public class RestrictedAppDetails extends DashboardFragment implements
|
|||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
BatteryDatabaseManager mBatteryDatabaseManager;
|
BatteryDatabaseManager mBatteryDatabaseManager;
|
||||||
|
|
||||||
|
private MetricsFeatureProvider mMetricsFeatureProvider;
|
||||||
|
|
||||||
public static void startRestrictedAppDetails(InstrumentedPreferenceFragment fragment,
|
public static void startRestrictedAppDetails(InstrumentedPreferenceFragment fragment,
|
||||||
List<AppInfo> appInfos) {
|
List<AppInfo> appInfos) {
|
||||||
final Bundle args = new Bundle();
|
final Bundle args = new Bundle();
|
||||||
@@ -100,7 +104,8 @@ public class RestrictedAppDetails extends DashboardFragment implements
|
|||||||
mIconDrawableFactory = IconDrawableFactory.newInstance(context);
|
mIconDrawableFactory = IconDrawableFactory.newInstance(context);
|
||||||
mBatteryUtils = BatteryUtils.getInstance(context);
|
mBatteryUtils = BatteryUtils.getInstance(context);
|
||||||
mBatteryDatabaseManager = BatteryDatabaseManager.getInstance(context);
|
mBatteryDatabaseManager = BatteryDatabaseManager.getInstance(context);
|
||||||
|
mMetricsFeatureProvider =
|
||||||
|
FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider();
|
||||||
refreshUi();
|
refreshUi();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -162,7 +167,9 @@ public class RestrictedAppDetails extends DashboardFragment implements
|
|||||||
(Boolean) value);
|
(Boolean) value);
|
||||||
fragment.setTargetFragment(this, 0 /* requestCode */);
|
fragment.setTargetFragment(this, 0 /* requestCode */);
|
||||||
fragment.show(getFragmentManager(), TAG);
|
fragment.show(getFragmentManager(), TAG);
|
||||||
|
mMetricsFeatureProvider.action(getContext(),
|
||||||
|
SettingsEnums.ACTION_APP_RESTRICTED_LIST_UNCHECKED,
|
||||||
|
appInfo.packageName);
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user