Android O Settings
加载默认设置值及修改:(涉及SettingsProvider)
示例:(设备自动亮度设置)——在Display菜单下:
其对应的Fragment是:DisplaySettings.java;
加载布局:display_settings.xml:
……
……
所有的菜单项都在这里;
而其中一项<SwitchPreference>则对应的是自动亮度(auto_brightness)选项:
接下来看DisplaySettings.java——>getPreferenceControllers():
获取该项对应的controller对象并将它添加到controllers中并返回;
该方法返回buildPreferenceControllers():
……
通过AutoBrightnessPreferenceController这一项来分析一下设置值是如何加载以及如何修改;
AutoBrightnessPreferenceController.java:
自动亮度值的获取:
自动亮度值的修改:
获取和修改的实质是对SettingsProvider的操作:
(framework有一个类Settings.java对使用SettingsProvider进行了封装。)