Don't use a scrollable dialog for CastDialog
Cast dialog needs to display a ListView that may be scrollable. ListView does not play well inside a NestedScrollView. As a low risk solution, special case the style for this dialog to not use NestedScrollView. Test: manual Fixes: 230517187 Change-Id: I29eb27050c39915ee16f81b83abb8dae781f9588
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
~ Copyright (C) 2021 The Android Open Source Project
|
||||
~ Copyright (C) 2022 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.
|
||||
@@ -15,88 +14,83 @@
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
<androidx.core.widget.NestedScrollView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.android.internal.widget.AlertDialogLayout
|
||||
android:id="@*android:id/parentPanel"
|
||||
<com.android.internal.widget.AlertDialogLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@*android:id/parentPanel"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_horizontal|top"
|
||||
android:orientation="vertical"
|
||||
android:paddingTop="@dimen/dialog_top_padding"
|
||||
>
|
||||
|
||||
<include layout="@layout/alert_dialog_title_systemui" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@*android:id/contentPanel"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_horizontal|top"
|
||||
android:orientation="vertical"
|
||||
android:paddingTop="@dimen/dialog_top_padding"
|
||||
>
|
||||
android:minHeight="48dp"
|
||||
android:paddingStart="@dimen/dialog_side_padding"
|
||||
android:paddingEnd="@dimen/dialog_side_padding"
|
||||
>
|
||||
|
||||
<include layout="@layout/alert_dialog_title_systemui" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@*android:id/contentPanel"
|
||||
<ScrollView
|
||||
android:id="@*android:id/scrollView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="48dp"
|
||||
android:paddingStart="@dimen/dialog_side_padding"
|
||||
android:paddingEnd="@dimen/dialog_side_padding"
|
||||
>
|
||||
android:clipToPadding="false">
|
||||
|
||||
<ScrollView
|
||||
android:id="@*android:id/scrollView"
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:clipToPadding="false">
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
<Space
|
||||
android:id="@*android:id/textSpacerNoTitle"
|
||||
android:visibility="gone"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@*android:id/message"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
style="@style/TextAppearance.Dialog.Body.Message" />
|
||||
|
||||
<Space
|
||||
android:id="@*android:id/textSpacerNoTitle"
|
||||
android:visibility="gone"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp" />
|
||||
<Space
|
||||
android:id="@*android:id/textSpacerNoButtons"
|
||||
android:visibility="gone"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="6dp" />
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
</FrameLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@*android:id/message"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/TextAppearance.Dialog.Body.Message" />
|
||||
|
||||
<Space
|
||||
android:id="@*android:id/textSpacerNoButtons"
|
||||
android:visibility="gone"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="6dp" />
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
</FrameLayout>
|
||||
<FrameLayout
|
||||
android:id="@*android:id/customPanel"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="48dp"
|
||||
android:paddingStart="@dimen/dialog_side_padding"
|
||||
android:paddingEnd="@dimen/dialog_side_padding"
|
||||
>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@*android:id/customPanel"
|
||||
android:id="@*android:id/custom"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="@dimen/dialog_side_padding"
|
||||
android:paddingEnd="@dimen/dialog_side_padding">
|
||||
<include
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="48dp"
|
||||
android:paddingStart="@dimen/dialog_side_padding"
|
||||
android:paddingEnd="@dimen/dialog_side_padding"
|
||||
>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@*android:id/custom"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="@dimen/dialog_side_padding"
|
||||
android:paddingEnd="@dimen/dialog_side_padding">
|
||||
<include
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
layout="@layout/alert_dialog_button_bar_systemui" />
|
||||
</FrameLayout>
|
||||
</com.android.internal.widget.AlertDialogLayout>
|
||||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
layout="@layout/alert_dialog_button_bar_systemui" />
|
||||
</FrameLayout>
|
||||
</com.android.internal.widget.AlertDialogLayout>
|
||||
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
~ Copyright (C) 2021 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.
|
||||
-->
|
||||
<androidx.core.widget.NestedScrollView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<include layout="@layout/alert_dialog_systemui" />
|
||||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
@@ -380,7 +380,7 @@
|
||||
<item name="android:buttonBarNegativeButtonStyle">@style/Widget.Dialog.Button.BorderButton</item>
|
||||
<item name="android:buttonBarNeutralButtonStyle">@style/Widget.Dialog.Button.BorderButton</item>
|
||||
<item name="android:colorBackground">?androidprv:attr/colorSurface</item>
|
||||
<item name="android:alertDialogStyle">@style/AlertDialogStyle</item>
|
||||
<item name="android:alertDialogStyle">@style/ScrollableAlertDialogStyle</item>
|
||||
<item name="android:buttonBarStyle">@style/ButtonBarStyle</item>
|
||||
<item name="android:buttonBarButtonStyle">@style/Widget.Dialog.Button.Large</item>
|
||||
</style>
|
||||
@@ -389,6 +389,10 @@
|
||||
<item name="android:layout">@layout/alert_dialog_systemui</item>
|
||||
</style>
|
||||
|
||||
<style name="ScrollableAlertDialogStyle" parent="@androidprv:style/AlertDialog.DeviceDefault">
|
||||
<item name="android:layout">@layout/scrollable_alert_dialog_systemui</item>
|
||||
</style>
|
||||
|
||||
<style name="ButtonBarStyle" parent="@androidprv:style/DeviceDefault.ButtonBar.AlertDialog">
|
||||
<item name="android:paddingTop">@dimen/dialog_button_bar_top_padding</item>
|
||||
<item name="android:paddingBottom">@dimen/dialog_bottom_padding</item>
|
||||
@@ -994,6 +998,7 @@
|
||||
|
||||
<style name="Theme.SystemUI.Dialog.Cast">
|
||||
<item name="android:textAppearanceMedium">@style/TextAppearance.CastItem</item>
|
||||
<item name="android:alertDialogStyle">@style/AlertDialogStyle</item>
|
||||
</style>
|
||||
<!-- ************************************************************************************* -->
|
||||
|
||||
|
||||
Reference in New Issue
Block a user