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

Commit 291a6404 authored by Lei Yu's avatar Lei Yu Committed by android-build-merger
Browse files

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

am: 09ed2f25

Change-Id: I4ba9fd91330415ed0f77bb3e4dcd19f47ce2090f
parents b5f4aa91 09ed2f25
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