Files
app_Settings/res/xml/app_notification_settings.xml
Nikki Moteva bc1b12db3a Settings: Fix the a11y focus issues in App Notifications subpage
There are duplicate a11y focuses in the App Notifications subpage.
See the bug for more details.

To fix the App, we will make the LayoutPreference unselectable,
which makes the internal FrameLayout unfocusable.

To fix the Switch, we can disable its focusability.
This will make the FrameLayout the only focusable view for the
Main Switch Bar. This a11y fix applies to all instances of
SettingsMainSwitchPreference in the Settings app.

Bug: 306725248
Flag: EXEMPT bugfix
Test:
atest SettingsMainSwitchPreferenceTest
Manually tested the UI. The SettingsMainSwitchPreference
is also used in `Display & Touch > Adaptive brightness`,
`Accessibility > Caption Preference`, etc. The toggle acts as
expected in the pages.

Change-Id: I52b4965ac0ffc8d1576e8bc650715eb80ab4e8c7
2024-11-25 22:38:08 +00:00

128 lines
4.7 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 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:key="app_notifications"
android:title="@string/notifications_title">
<com.android.settingslib.widget.LayoutPreference
android:key="pref_app_header"
android:layout="@layout/settings_entity_header"
android:selectable="false" />
<com.android.settings.widget.SettingsMainSwitchPreference
android:key="block" />
<Preference
android:key="block_desc" />
<!-- Conversations added here -->
<PreferenceCategory
android:title="@string/conversations_category_title"
android:key="conversations"
android:visibility="gone">
</PreferenceCategory>
<com.android.settingslib.RestrictedSwitchPreference
android:key="invalid_conversation_switch"
android:title="@string/conversation_section_switch_title" />
<Preference
android:key="invalid_conversation_info"/>
<!--Bubbles -->
<Preference
android:key="bubble_pref_link"
android:title="@string/notification_bubbles_title"
android:icon="@drawable/ic_create_bubble"
settings:controller="com.android.settings.notification.app.BubbleSummaryPreferenceController">
</Preference>
<!-- Bundles added here -->
<PreferenceCategory
android:key="bundles"
android:title="@string/notification_bundles"
android:visibility="gone" />
<!-- Channels/Channel groups added here -->
<PreferenceCategory
android:key="channels"
android:layout="@layout/empty_view" />
<Preference
android:key="more"
android:title="@string/no_recent_channels"
android:icon="@drawable/ic_expand"/>
<!-- Importance toggle -->
<com.android.settingslib.RestrictedSwitchPreference
android:key="allow_sound"
android:title="@string/allow_interruption"
android:summary="@string/allow_interruption_summary"
settings:allowDividerAbove="true"
settings:allowDividerBelow="false" />
<!-- Visibility Override -->
<com.android.settings.RestrictedListPreference
android:key="visibility_override"
android:title="@string/app_notification_visibility_override_title"
settings:allowDividerAbove="true"
settings:allowDividerBelow="false" />
<!-- Bypass DND -->
<com.android.settingslib.RestrictedSwitchPreference
android:key="bypass_dnd"
android:title="@string/app_notification_override_dnd_title"
android:summary="@string/app_notification_override_dnd_summary"
settings:allowDividerAbove="true"
settings:allowDividerBelow="false" />
<!-- Allow full-screen intents -->
<com.android.settingslib.RestrictedSwitchPreference
android:key="fsi_permission"
android:title="@string/app_notification_fsi_permission_title"
android:summary="@string/app_notification_fsi_permission_summary"
settings:allowDividerAbove="true"
settings:allowDividerBelow="false" />
<!-- Show badge -->
<com.android.settingslib.RestrictedSwitchPreference
android:key="badge"
android:title="@string/notification_badge_title"
android:icon="@drawable/ic_notification_dot"
settings:useAdditionalSummary="true"
settings:restrictedSwitchSummary="@string/enabled_by_admin"
android:order="1001"
settings:allowDividerAbove="true"
settings:allowDividerBelow="false" />
<Preference
android:key="app_link"
android:icon="@drawable/ic_settings_24dp"
android:title="@string/app_settings_link"
android:order="1003"
settings:allowDividerAbove="true"
settings:allowDividerBelow="false" />
<com.android.settingslib.widget.FooterPreference
android:key="deleted"
android:icon="@drawable/ic_trash_can"
android:order="8000"
settings:allowDividerAbove="true"
settings:allowDividerBelow="false" />
</PreferenceScreen>