Files
app_Settings/res/xml/captioning_appearance.xml
menghanli 0e7f366ffa Refactor CaptionAppearanceFragment to improve maintainability (5/n)
Root cause: There is a bunch of different logic of preferences in CaptionAppearanceFragment. It’s hard to implement new features and hard to maintain and hard to be testable.
Solution: Move out custom perference visiblity logic of CaptionAppearanceFragment into controllers to reduce the complexity of the relationship between preference and fragment.

Bug: 197695932
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.accessibility
Change-Id: I53d4ca3809031587f8d6853b427774fd322a71d8
2022-07-26 12:25:56 +08:00

110 lines
5.3 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2019 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:title="@string/captioning_caption_appearance_title">
<com.android.settingslib.widget.LayoutPreference
android:key="caption_preview"
android:title="@string/summary_placeholder"
android:layout="@layout/captioning_preview"
android:selectable="false"
settings:searchable="false"
settings:controller="com.android.settings.accessibility.CaptionPreviewPreferenceController"/>
<ListPreference
android:entries="@array/captioning_font_size_selector_titles"
android:entryValues="@array/captioning_font_size_selector_values"
android:key="captioning_font_size"
android:summary="%s"
android:title="@string/captioning_text_size"
settings:controller="com.android.settings.accessibility.CaptionFontSizeController"/>
<com.android.settings.accessibility.PresetPreference
android:key="captioning_preset"
android:title="@string/captioning_preset"
settings:controller="com.android.settings.accessibility.CaptionPresetController"/>
<PreferenceCategory
android:key="custom"
android:title="@string/captioning_custom_options_title"
settings:controller="com.android.settings.accessibility.CaptionCustomController">
<ListPreference
android:entries="@array/captioning_typeface_selector_titles"
android:entryValues="@array/captioning_typeface_selector_values"
android:key="captioning_typeface"
android:summary="%s"
android:title="@string/captioning_typeface"
settings:controller="com.android.settings.accessibility.CaptionTypefaceController"/>
<com.android.settings.accessibility.ColorPreference
android:key="captioning_foreground_color"
android:title="@string/captioning_foreground_color"
settings:controller="com.android.settings.accessibility.CaptionForegroundColorController"/>
<com.android.settings.accessibility.ColorPreference
android:dependency="captioning_foreground_color"
android:key="captioning_foreground_opacity"
android:title="@string/captioning_foreground_opacity"
settings:controller="com.android.settings.accessibility.CaptionForegroundOpacityController"/>
<com.android.settings.accessibility.EdgeTypePreference
android:key="captioning_edge_type"
android:title="@string/captioning_edge_type"
settings:controller="com.android.settings.accessibility.CaptionEdgeTypeController"/>
<com.android.settings.accessibility.ColorPreference
android:dependency="captioning_edge_type"
android:key="captioning_edge_color"
android:title="@string/captioning_edge_color"
settings:controller="com.android.settings.accessibility.CaptionEdgeColorController"/>
<com.android.settings.accessibility.ColorPreference
android:key="captioning_background_color"
android:title="@string/captioning_background_color"
settings:controller="com.android.settings.accessibility.CaptionBackgroundColorController"/>
<com.android.settings.accessibility.ColorPreference
android:dependency="captioning_background_color"
android:key="captioning_background_opacity"
android:title="@string/captioning_background_opacity"
settings:controller="com.android.settings.accessibility.CaptionBackgroundOpacityController"/>
<com.android.settings.accessibility.ColorPreference
android:key="captioning_window_color"
android:title="@string/captioning_window_color"
settings:controller="com.android.settings.accessibility.CaptionWindowColorController"/>
<com.android.settings.accessibility.ColorPreference
android:dependency="captioning_window_color"
android:key="captioning_window_opacity"
android:title="@string/captioning_window_opacity"
settings:controller="com.android.settings.accessibility.CaptionWindowOpacityController"/>
</PreferenceCategory>
<com.android.settings.accessibility.AccessibilityFooterPreference
android:key="captioning_appearance_footer"
android:title="@string/accessibility_caption_preference_summary"
android:persistent="false"
android:selectable="false"
settings:searchable="false"
settings:controller="com.android.settings.accessibility.CaptionFooterPreferenceController"/>
</PreferenceScreen>