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

Commit 09ed2f25 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add log for battery tip action." into pi-dev

parents ff912223 2b6e422c
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -15,7 +15,6 @@
package com.android.settings.fuelgauge;

import android.app.AppOpsManager;
import android.app.Fragment;
import android.app.admin.DevicePolicyManager;
import android.content.Context;
import android.os.UserManager;
@@ -24,6 +23,7 @@ import android.support.v7.preference.Preference;

import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.core.InstrumentedPreferenceFragment;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.fuelgauge.batterytip.AppInfo;
import com.android.settings.fuelgauge.batterytip.BatteryTipDialogFragment;
@@ -51,17 +51,17 @@ public class BackgroundActivityPreferenceController extends AbstractPreferenceCo
    DevicePolicyManagerWrapper mDpm;
    @VisibleForTesting
    BatteryUtils mBatteryUtils;
    private Fragment mFragment;
    private InstrumentedPreferenceFragment mFragment;
    private String mTargetPackage;
    private PowerWhitelistBackend mPowerWhitelistBackend;

    public BackgroundActivityPreferenceController(Context context, Fragment fragment,
            int uid, String packageName) {
    public BackgroundActivityPreferenceController(Context context,
            InstrumentedPreferenceFragment fragment, int uid, String packageName) {
        this(context, fragment, uid, packageName, PowerWhitelistBackend.getInstance());
    }

    @VisibleForTesting
    BackgroundActivityPreferenceController(Context context, Fragment fragment,
    BackgroundActivityPreferenceController(Context context, InstrumentedPreferenceFragment fragment,
            int uid, String packageName, PowerWhitelistBackend backend) {
        super(context);
        mPowerWhitelistBackend = backend;
@@ -137,7 +137,8 @@ public class BackgroundActivityPreferenceController extends AbstractPreferenceCo
                ? new UnrestrictAppTip(BatteryTip.StateType.NEW, appInfo)
                : new RestrictAppTip(BatteryTip.StateType.NEW, appInfo);

        final BatteryTipDialogFragment dialogFragment = BatteryTipDialogFragment.newInstance(tip);
        final BatteryTipDialogFragment dialogFragment = BatteryTipDialogFragment.newInstance(tip,
                mFragment.getMetricsCategory());
        dialogFragment.setTargetFragment(mFragment, 0 /* requestCode */);
        dialogFragment.show(mFragment.getFragmentManager(), TAG);
    }
+7 −2
Original line number Diff line number Diff line
@@ -51,15 +51,19 @@ public class BatteryTipDialogFragment extends InstrumentedDialogFragment impleme
        DialogInterface.OnClickListener {

    private static final String ARG_BATTERY_TIP = "battery_tip";
    private static final String ARG_METRICS_KEY = "metrics_key";

    @VisibleForTesting
    BatteryTip mBatteryTip;
    @VisibleForTesting
    int mMetricsKey;

    public static BatteryTipDialogFragment newInstance(BatteryTip batteryTip) {
    public static BatteryTipDialogFragment newInstance(BatteryTip batteryTip, int metricsKey) {
        BatteryTipDialogFragment dialogFragment = new BatteryTipDialogFragment();

        Bundle args = new Bundle(1);
        args.putParcelable(ARG_BATTERY_TIP, batteryTip);
        args.putInt(ARG_METRICS_KEY, metricsKey);
        dialogFragment.setArguments(args);

        return dialogFragment;
@@ -71,6 +75,7 @@ public class BatteryTipDialogFragment extends InstrumentedDialogFragment impleme
        final Context context = getContext();

        mBatteryTip = bundle.getParcelable(ARG_BATTERY_TIP);
        mMetricsKey = bundle.getInt(ARG_METRICS_KEY);

        switch (mBatteryTip.getType()) {
            case BatteryTip.TipType.SUMMARY:
@@ -163,7 +168,7 @@ public class BatteryTipDialogFragment extends InstrumentedDialogFragment impleme
                (SettingsActivity) getActivity(),
                (InstrumentedPreferenceFragment) getTargetFragment());
        if (action != null) {
            action.handlePositiveAction();
            action.handlePositiveAction(mMetricsKey);
        }
        lsn.onBatteryTipHandled(mBatteryTip);
    }
+2 −2
Original line number Diff line number Diff line
@@ -118,14 +118,14 @@ public class BatteryTipPreferenceController extends BasePreferenceController {
        if (batteryTip != null) {
            if (batteryTip.shouldShowDialog()) {
                BatteryTipDialogFragment dialogFragment = BatteryTipDialogFragment.newInstance(
                        batteryTip);
                        batteryTip, mFragment.getMetricsCategory());
                dialogFragment.setTargetFragment(mFragment, REQUEST_ANOMALY_ACTION);
                dialogFragment.show(mFragment.getFragmentManager(), TAG);
            } else {
                final BatteryTipAction action = BatteryTipUtils.getActionForBatteryTip(batteryTip,
                        mSettingsActivity, mFragment);
                if (action != null) {
                    action.handlePositiveAction();
                    action.handlePositiveAction(mFragment.getMetricsCategory());
                }
                if (mBatteryTipListener != null) {
                    mBatteryTipListener.onBatteryTipHandled(batteryTip);
+5 −1
Original line number Diff line number Diff line
@@ -19,6 +19,8 @@ package com.android.settings.fuelgauge.batterytip.actions;
import android.content.Context;
import android.os.PowerManager;

import com.android.internal.logging.nano.MetricsProto;

public class BatterySaverAction extends BatteryTipAction {
    private PowerManager mPowerManager;

@@ -31,7 +33,9 @@ public class BatterySaverAction extends BatteryTipAction {
     * Handle the action when user clicks positive button
     */
    @Override
    public void handlePositiveAction() {
    public void handlePositiveAction(int metricsKey) {
        mPowerManager.setPowerSaveMode(true);
        mMetricsFeatureProvider.action(mContext,
                MetricsProto.MetricsEvent.ACTION_TIP_TURN_ON_BATTERY_SAVER, metricsKey);
    }
}
+4 −1
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.settings.fuelgauge.batterytip.actions;

import android.content.Context;

import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;

/**
@@ -25,13 +26,15 @@ import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 */
public abstract class BatteryTipAction {
    protected Context mContext;
    protected MetricsFeatureProvider mMetricsFeatureProvider;

    public BatteryTipAction(Context context) {
        mContext = context;
        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
    }

    /**
     * Handle the action when user clicks positive button
     */
    public abstract void handlePositiveAction();
    public abstract void handlePositiveAction(int metricsKey);
}
Loading