ui: make bottom sheets request insets on layout

Make bottom sheets request window insets when they are laid out.

For some insane reason, bottom sheets are just not given window insets
when the device is rotated in the detail view. Appaently requesting them
fixes it all of a sudden.
This commit is contained in:
OxygenCobalt 2022-08-03 15:42:37 -06:00
parent 79637f7603
commit 772fe7df3b
No known key found for this signature in database
GPG key ID: 37DBE3621FE9AD47
3 changed files with 18 additions and 4 deletions

View file

@ -120,6 +120,8 @@ class BottomSheetContentBehavior<V : View>(context: Context, attributeSet: Attri
setup = true setup = true
} }
child.requestApplyInsets()
return true return true
} }

View file

@ -34,7 +34,19 @@ class EdgeCoordinatorLayout
@JvmOverloads @JvmOverloads
constructor(context: Context, attrs: AttributeSet? = null, @AttrRes defStyleAttr: Int = 0) : constructor(context: Context, attrs: AttributeSet? = null, @AttrRes defStyleAttr: Int = 0) :
CoordinatorLayout(context, attrs, defStyleAttr) { CoordinatorLayout(context, attrs, defStyleAttr) {
override fun dispatchApplyWindowInsets(insets: WindowInsets): WindowInsets {
super.dispatchApplyWindowInsets(insets)
for (child in children) {
child.dispatchApplyWindowInsets(insets)
}
return insets
}
override fun onApplyWindowInsets(insets: WindowInsets): WindowInsets { override fun onApplyWindowInsets(insets: WindowInsets): WindowInsets {
super.onApplyWindowInsets(insets)
for (child in children) { for (child in children) {
child.onApplyWindowInsets(insets) child.onApplyWindowInsets(insets)
} }

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" <org.oxycblt.auxio.ui.coordinator.EdgeCoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_layout" android:id="@+id/main_layout"
@ -16,7 +16,7 @@
app:navGraph="@navigation/nav_explore" app:navGraph="@navigation/nav_explore"
tools:layout="@layout/fragment_home" /> tools:layout="@layout/fragment_home" />
<androidx.coordinatorlayout.widget.CoordinatorLayout <org.oxycblt.auxio.ui.coordinator.EdgeCoordinatorLayout
android:id="@+id/playback_sheet" android:id="@+id/playback_sheet"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
@ -79,6 +79,6 @@
</LinearLayout> </LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout> </org.oxycblt.auxio.ui.coordinator.EdgeCoordinatorLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout> </org.oxycblt.auxio.ui.coordinator.EdgeCoordinatorLayout>