Loading res/values/strings.xml +4 −0 Original line number Diff line number Diff line Loading @@ -4809,6 +4809,10 @@ <string name="battery_tip_low_battery_title">Low battery capacity</string> <!-- Summary for the low battery tip [CHAR LIMIT=NONE] --> <string name="battery_tip_low_battery_summary">Battery can\'t provide good battery life</string> <!-- Title for the smart battery tip [CHAR LIMIT=NONE] --> <string name="battery_tip_smart_battery_title">Turn on smart battery manager</string> <!-- Summary for the smart battery tip [CHAR LIMIT=NONE] --> <string name="battery_tip_smart_battery_summary">Turn on to optimize battery usage</string> <!-- Title for the battery high usage tip [CHAR LIMIT=NONE] --> <string name="battery_tip_high_usage_title" product="default">Phone used heavily</string> <!-- Title for the battery high usage tip [CHAR LIMIT=NONE] --> Loading src/com/android/settings/fuelgauge/PowerUsageSummary.java +1 −1 Original line number Diff line number Diff line Loading @@ -266,7 +266,7 @@ public class PowerUsageSummary extends PowerUsageBase implements OnLongClickList KEY_APP_LIST, lifecycle, activity, this); controllers.add(mBatteryAppListPreferenceController); mBatteryTipPreferenceController = new BatteryTipPreferenceController(context, KEY_BATTERY_TIP, this, this); KEY_BATTERY_TIP, (SettingsActivity) getActivity(), this, this); controllers.add(mBatteryTipPreferenceController); controllers.add(new BatterySaverController(context, getLifecycle())); controllers.add(new BatteryPercentagePreferenceController(context)); Loading src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragment.java +7 −1 Original line number Diff line number Diff line Loading @@ -27,8 +27,10 @@ import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.fuelgauge.batterytip.BatteryTipPreferenceController.BatteryTipListener; import com.android.settings.fuelgauge.batterytip.actions.BatteryTipAction; import com.android.settings.fuelgauge.batterytip.tips.BatteryTip; import com.android.settings.fuelgauge.batterytip.tips.HighUsageTip; Loading Loading @@ -97,7 +99,11 @@ public class BatteryTipDialogFragment extends InstrumentedDialogFragment impleme if (lsn == null) { return; } mBatteryTip.action(); final BatteryTipAction action = BatteryTipUtils.getActionForBatteryTip(mBatteryTip, (SettingsActivity) getActivity(), this); if (action != null) { action.handlePositiveAction(); } lsn.onBatteryTipHandled(mBatteryTip); } Loading src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java +3 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import com.android.settings.fuelgauge.BatteryUtils; import com.android.settings.fuelgauge.batterytip.detectors.BatteryTipDetector; import com.android.settings.fuelgauge.batterytip.detectors.HighUsageDetector; import com.android.settings.fuelgauge.batterytip.detectors.LowBatteryDetector; import com.android.settings.fuelgauge.batterytip.detectors.SmartBatteryDetector; import com.android.settings.fuelgauge.batterytip.detectors.SummaryDetector; import com.android.settings.fuelgauge.batterytip.tips.BatteryTip; import com.android.settings.fuelgauge.batterytip.tips.LowBatteryTip; Loading Loading @@ -68,6 +69,8 @@ public class BatteryTipLoader extends AsyncLoader<List<BatteryTip>> { addBatteryTipFromDetector(tips, new LowBatteryDetector(policy, batteryInfo)); addBatteryTipFromDetector(tips, new HighUsageDetector(getContext(), policy, mBatteryStatsHelper)); addBatteryTipFromDetector(tips, new SmartBatteryDetector(policy, getContext().getContentResolver())); // Add summary detector at last since it need other detectors to update the mVisibleTips addBatteryTipFromDetector(tips, new SummaryDetector(policy, mVisibleTips)); Loading src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java +12 −3 Original line number Diff line number Diff line Loading @@ -23,7 +23,9 @@ import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceGroup; import android.support.v7.preference.PreferenceScreen; import com.android.settings.SettingsActivity; import com.android.settings.core.BasePreferenceController; import com.android.settings.fuelgauge.batterytip.actions.BatteryTipAction; import com.android.settings.fuelgauge.batterytip.tips.BatteryTip; import com.android.settings.fuelgauge.batterytip.tips.SummaryTip; Loading @@ -41,6 +43,7 @@ public class BatteryTipPreferenceController extends BasePreferenceController { private BatteryTipListener mBatteryTipListener; private List<BatteryTip> mBatteryTips; private Map<String, BatteryTip> mBatteryTipMap; private SettingsActivity mSettingsActivity; @VisibleForTesting PreferenceGroup mPreferenceGroup; @VisibleForTesting Loading @@ -48,15 +51,17 @@ public class BatteryTipPreferenceController extends BasePreferenceController { PreferenceFragment mFragment; public BatteryTipPreferenceController(Context context, String preferenceKey) { this(context, preferenceKey, null, null); this(context, preferenceKey, null, null, null); } public BatteryTipPreferenceController(Context context, String preferenceKey, PreferenceFragment fragment, BatteryTipListener batteryTipListener) { SettingsActivity settingsActivity, PreferenceFragment fragment, BatteryTipListener batteryTipListener) { super(context, preferenceKey); mBatteryTipListener = batteryTipListener; mBatteryTipMap = new HashMap<>(); mFragment = fragment; mSettingsActivity = settingsActivity; } @Override Loading Loading @@ -107,7 +112,11 @@ public class BatteryTipPreferenceController extends BasePreferenceController { dialogFragment.setTargetFragment(mFragment, REQUEST_ANOMALY_ACTION); dialogFragment.show(mFragment.getFragmentManager(), TAG); } else { batteryTip.action(); final BatteryTipAction action = BatteryTipUtils.getActionForBatteryTip(batteryTip, mSettingsActivity, mFragment); if (action != null) { action.handlePositiveAction(); } if (mBatteryTipListener != null) { mBatteryTipListener.onBatteryTipHandled(batteryTip); } Loading Loading
res/values/strings.xml +4 −0 Original line number Diff line number Diff line Loading @@ -4809,6 +4809,10 @@ <string name="battery_tip_low_battery_title">Low battery capacity</string> <!-- Summary for the low battery tip [CHAR LIMIT=NONE] --> <string name="battery_tip_low_battery_summary">Battery can\'t provide good battery life</string> <!-- Title for the smart battery tip [CHAR LIMIT=NONE] --> <string name="battery_tip_smart_battery_title">Turn on smart battery manager</string> <!-- Summary for the smart battery tip [CHAR LIMIT=NONE] --> <string name="battery_tip_smart_battery_summary">Turn on to optimize battery usage</string> <!-- Title for the battery high usage tip [CHAR LIMIT=NONE] --> <string name="battery_tip_high_usage_title" product="default">Phone used heavily</string> <!-- Title for the battery high usage tip [CHAR LIMIT=NONE] --> Loading
src/com/android/settings/fuelgauge/PowerUsageSummary.java +1 −1 Original line number Diff line number Diff line Loading @@ -266,7 +266,7 @@ public class PowerUsageSummary extends PowerUsageBase implements OnLongClickList KEY_APP_LIST, lifecycle, activity, this); controllers.add(mBatteryAppListPreferenceController); mBatteryTipPreferenceController = new BatteryTipPreferenceController(context, KEY_BATTERY_TIP, this, this); KEY_BATTERY_TIP, (SettingsActivity) getActivity(), this, this); controllers.add(mBatteryTipPreferenceController); controllers.add(new BatterySaverController(context, getLifecycle())); controllers.add(new BatteryPercentagePreferenceController(context)); Loading
src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragment.java +7 −1 Original line number Diff line number Diff line Loading @@ -27,8 +27,10 @@ import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.fuelgauge.batterytip.BatteryTipPreferenceController.BatteryTipListener; import com.android.settings.fuelgauge.batterytip.actions.BatteryTipAction; import com.android.settings.fuelgauge.batterytip.tips.BatteryTip; import com.android.settings.fuelgauge.batterytip.tips.HighUsageTip; Loading Loading @@ -97,7 +99,11 @@ public class BatteryTipDialogFragment extends InstrumentedDialogFragment impleme if (lsn == null) { return; } mBatteryTip.action(); final BatteryTipAction action = BatteryTipUtils.getActionForBatteryTip(mBatteryTip, (SettingsActivity) getActivity(), this); if (action != null) { action.handlePositiveAction(); } lsn.onBatteryTipHandled(mBatteryTip); } Loading
src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java +3 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import com.android.settings.fuelgauge.BatteryUtils; import com.android.settings.fuelgauge.batterytip.detectors.BatteryTipDetector; import com.android.settings.fuelgauge.batterytip.detectors.HighUsageDetector; import com.android.settings.fuelgauge.batterytip.detectors.LowBatteryDetector; import com.android.settings.fuelgauge.batterytip.detectors.SmartBatteryDetector; import com.android.settings.fuelgauge.batterytip.detectors.SummaryDetector; import com.android.settings.fuelgauge.batterytip.tips.BatteryTip; import com.android.settings.fuelgauge.batterytip.tips.LowBatteryTip; Loading Loading @@ -68,6 +69,8 @@ public class BatteryTipLoader extends AsyncLoader<List<BatteryTip>> { addBatteryTipFromDetector(tips, new LowBatteryDetector(policy, batteryInfo)); addBatteryTipFromDetector(tips, new HighUsageDetector(getContext(), policy, mBatteryStatsHelper)); addBatteryTipFromDetector(tips, new SmartBatteryDetector(policy, getContext().getContentResolver())); // Add summary detector at last since it need other detectors to update the mVisibleTips addBatteryTipFromDetector(tips, new SummaryDetector(policy, mVisibleTips)); Loading
src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java +12 −3 Original line number Diff line number Diff line Loading @@ -23,7 +23,9 @@ import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceGroup; import android.support.v7.preference.PreferenceScreen; import com.android.settings.SettingsActivity; import com.android.settings.core.BasePreferenceController; import com.android.settings.fuelgauge.batterytip.actions.BatteryTipAction; import com.android.settings.fuelgauge.batterytip.tips.BatteryTip; import com.android.settings.fuelgauge.batterytip.tips.SummaryTip; Loading @@ -41,6 +43,7 @@ public class BatteryTipPreferenceController extends BasePreferenceController { private BatteryTipListener mBatteryTipListener; private List<BatteryTip> mBatteryTips; private Map<String, BatteryTip> mBatteryTipMap; private SettingsActivity mSettingsActivity; @VisibleForTesting PreferenceGroup mPreferenceGroup; @VisibleForTesting Loading @@ -48,15 +51,17 @@ public class BatteryTipPreferenceController extends BasePreferenceController { PreferenceFragment mFragment; public BatteryTipPreferenceController(Context context, String preferenceKey) { this(context, preferenceKey, null, null); this(context, preferenceKey, null, null, null); } public BatteryTipPreferenceController(Context context, String preferenceKey, PreferenceFragment fragment, BatteryTipListener batteryTipListener) { SettingsActivity settingsActivity, PreferenceFragment fragment, BatteryTipListener batteryTipListener) { super(context, preferenceKey); mBatteryTipListener = batteryTipListener; mBatteryTipMap = new HashMap<>(); mFragment = fragment; mSettingsActivity = settingsActivity; } @Override Loading Loading @@ -107,7 +112,11 @@ public class BatteryTipPreferenceController extends BasePreferenceController { dialogFragment.setTargetFragment(mFragment, REQUEST_ANOMALY_ACTION); dialogFragment.show(mFragment.getFragmentManager(), TAG); } else { batteryTip.action(); final BatteryTipAction action = BatteryTipUtils.getActionForBatteryTip(batteryTip, mSettingsActivity, mFragment); if (action != null) { action.handlePositiveAction(); } if (mBatteryTipListener != null) { mBatteryTipListener.onBatteryTipHandled(batteryTip); } Loading