Loading src/com/android/settings/fuelgauge/BackgroundActivityPreferenceController.java +7 −6 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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); } Loading src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragment.java +7 −2 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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: Loading Loading @@ -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); } Loading src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java +2 −2 Original line number Diff line number Diff line Loading @@ -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); Loading src/com/android/settings/fuelgauge/batterytip/actions/BatterySaverAction.java +5 −1 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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); } } src/com/android/settings/fuelgauge/batterytip/actions/BatteryTipAction.java +4 −1 Original line number Diff line number Diff line Loading @@ -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; /** Loading @@ -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
src/com/android/settings/fuelgauge/BackgroundActivityPreferenceController.java +7 −6 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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); } Loading
src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragment.java +7 −2 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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: Loading Loading @@ -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); } Loading
src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java +2 −2 Original line number Diff line number Diff line Loading @@ -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); Loading
src/com/android/settings/fuelgauge/batterytip/actions/BatterySaverAction.java +5 −1 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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); } }
src/com/android/settings/fuelgauge/batterytip/actions/BatteryTipAction.java +4 −1 Original line number Diff line number Diff line Loading @@ -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; /** Loading @@ -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); }