Android(安卓)9.0 (P版本) MTK平台原生的省电模式自动开启
源码位置及分析:
1、首先根据字段“自动开启”查找源码:
vendor\mediatek\proprietary\packages\apps\MtkSettings_Eclipse\res_ext\values-zh-rCN\strings.xml,找到battery_saver_turn_on_automatically_title字段。
2、根据上述字段查找src以及设置下的源码:可以查到在以下源码中有该字段。
vendor\mediatek\proprietary\packages\apps\MtkSettings\src\com\android\settings\fuelgauge\batterysaver\AutoBatterySeekBarPreferenceController.java
// Set the current value. final int level = Settings.Global.getInt(contentResolver, Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, AutoBatterySaverPreferenceController.DEFAULT_TRIGGER_LEVEL); if (level == 0) { preference.setVisible(false); } else { preference.setVisible(true); preference.setTitle(mContext.getString(R.string.battery_saver_seekbar_title, Utils.formatPercentage(level))); SeekBarPreference seekBarPreference = (SeekBarPreference) preference; seekBarPreference.setProgress(level); seekBarPreference.setSeekBarContentDescription( mContext.getString(R.string.battery_saver_turn_on_automatically_title)); }
查看代码,可看出设置默认值得字段DEFAULT_TRIGGER_LEVEL,但是这个字段不是在该类中实现,而是调用了AutoBatterySaverPreferenceController中的设置,所以查找到 AutoBatterySaverPreferenceController.java
3、查找到AutoBatterySaverPreferenceController.java的文件位置,如下。
vendor\mediatek\proprietary\packages\apps\MtkSettings\src\com\android\settings\fuelgauge\batterysaver\AutoBatterySaverPreferenceController.java
public class AutoBatterySaverPreferenceController extends TogglePreferenceController implements Preference.OnPreferenceChangeListener { /** * Default value for {@link Settings.Global#LOW_POWER_MODE_TRIGGER_LEVEL}. */ static final int DEFAULT_TRIGGER_LEVEL = 15; /** * The default value to set to {@link Settings.Global#LOW_POWER_MODE_TRIGGER_LEVEL} when the * user enables battery saver. */ private final int mDefaultTriggerLevelForOn;
在其代码中,可看出定义的int值,当为0的时候,自动开启功能默认关;当为15时,即剩余电量为15%时默认开启省电模式功能。具体功能分析待日后分析。
更多相关文章
- Android(安卓)setContentView方法解析(一)
- Android(安卓)SharedPreference 源码分析(一)
- Android(安卓)【插件化】"偷梁换柱"的高手-VirtualApk源码解析
- android studio关联源码
- android二进制显示图片
- Android录音时指针摆动的实现(附源码)
- Android(安卓)沉浸式状态栏 SystemStatusManager源码
- 一年经验 Android(安卓)面试记录
- android 自定义TextView"会发脾气的TextView"