Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a3d3c22a authored by ykhung's avatar ykhung Committed by YUKAI HUNG
Browse files

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
parent 9f249674
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -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);
        }
        }
    }
    }


+4 −0
Original line number Original line Diff line number Diff line
@@ -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;
    }
    }
}
}
+25 −3
Original line number Original line Diff line number Diff line
@@ -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) {
+5 −0
Original line number Original line Diff line number Diff line
@@ -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);
+4 −0
Original line number Original line Diff line number Diff line
@@ -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;
        }
        }


Loading