Redesign the update logic of Allow Background Usage Page.

- Use one Controller to manage preferences related to battery Optimization Mode.
- Move optimization mode & preferences status update logic from Fragment to Controller.

Bug: 373544647
Test: atest AdvancedPowerUsageDetailTest  PowerBackgroundUsageDetailTest BatteryOptimizationModePreferenceControllerTest BackgroundUsageAllowabilityPreferenceControllerTest
Flag: EXEMPT for simple fix
Change-Id: I2b1fed837fb4904e4118ab51c1d0cda36c0f6198
This commit is contained in:
mxyyiyi
2024-10-16 12:52:11 +08:00
parent 95dc9fc7d8
commit 1732fa8db0
16 changed files with 816 additions and 1040 deletions

View File

@@ -25,22 +25,25 @@
android:layout="@layout/settings_entity_header"
android:selectable="false"/>
<com.android.settingslib.widget.MainSwitchPreference
android:key="allow_background_usage"
android:title="@string/manager_battery_usage_allow_background_usage_title"
settings:controller="com.android.settings.fuelgauge.AllowBackgroundPreferenceController"/>
<PreferenceCategory
android:key="battery_optimization_mode_category"
android:layout="@layout/settingslib_preference_category_no_title"
settings:controller="com.android.settings.fuelgauge.BatteryOptimizationModePreferenceController">
<com.android.settingslib.widget.SelectorWithWidgetPreference
android:key="optimized_preference"
android:title="@string/manager_battery_usage_optimized_title"
android:summary="@string/manager_battery_usage_optimized_summary"
settings:controller="com.android.settings.fuelgauge.OptimizedPreferenceController"/>
<com.android.settingslib.widget.MainSwitchPreference
android:key="background_usage_allowability_switch"
android:title="@string/manager_battery_usage_allow_background_usage_title"/>
<com.android.settingslib.widget.SelectorWithWidgetPreference
android:key="unrestricted_preference"
android:title="@string/manager_battery_usage_unrestricted_title"
android:summary="@string/manager_battery_usage_unrestricted_summary"
settings:controller="com.android.settings.fuelgauge.UnrestrictedPreferenceController"/>
<com.android.settingslib.widget.SelectorWithWidgetPreference
android:key="optimized_preference"
android:title="@string/manager_battery_usage_optimized_title"
android:summary="@string/manager_battery_usage_optimized_summary"/>
<com.android.settingslib.widget.SelectorWithWidgetPreference
android:key="unrestricted_preference"
android:title="@string/manager_battery_usage_unrestricted_title"
android:summary="@string/manager_battery_usage_unrestricted_summary"/>
</PreferenceCategory>
<com.android.settingslib.widget.FooterPreference
android:key="app_usage_footer_preference"

View File

@@ -48,12 +48,12 @@
<PreferenceCategory
android:title="@string/manager_battery_usage_category_title"
android:key="manage_battery_usage_category">
android:key="background_usage_allowability_category"
settings:controller="com.android.settings.fuelgauge.BackgroundUsageAllowabilityPreferenceController">
<com.android.settingslib.PrimarySwitchPreference
android:key="allow_background_usage"
android:title="@string/manager_battery_usage_allow_background_usage_title"
settings:controller="com.android.settings.fuelgauge.AllowBackgroundPreferenceController"/>
android:key="background_usage_allowability_switch"
android:title="@string/manager_battery_usage_allow_background_usage_title"/>
</PreferenceCategory>