Android 9.0 (P版本) MTK平台原生的省电模式自动开启

Android 9.0 (P版本) MTK平台原生的省电模式自动开启_第1张图片

源码位置及分析:

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)