diff --git a/app/src/main/java/org/oxycblt/auxio/ui/EatInsetsFrameLayout.kt b/app/src/main/java/org/oxycblt/auxio/ui/EatInsetsFrameLayout.kt
new file mode 100644
index 000000000..76a0de000
--- /dev/null
+++ b/app/src/main/java/org/oxycblt/auxio/ui/EatInsetsFrameLayout.kt
@@ -0,0 +1,28 @@
+package org.oxycblt.auxio.ui
+
+import android.content.Context
+import android.util.AttributeSet
+import android.view.WindowInsets
+import android.widget.FrameLayout
+import androidx.annotation.AttrRes
+
+/**
+ * A [FrameLayout] that works around the pre-Android 10 behavior of propagating
+ * mutated insets to sibling views. Wrap this around views that to isolate
+ * mutated window insets.
+ *
+ * @author Alexander Capehart (OxygenCobalt)
+ */
+class EatInsetsFrameLayout
+@JvmOverloads
+constructor(context: Context, attrs: AttributeSet? = null, @AttrRes defStyleAttr: Int = 0) :
+ FrameLayout(context, attrs, defStyleAttr) {
+ init {
+ clipToPadding = false
+ }
+
+ override fun dispatchApplyWindowInsets(insets: WindowInsets): WindowInsets {
+ super.dispatchApplyWindowInsets(insets)
+ return insets
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/oxycblt/auxio/home/EdgeFrameLayout.kt b/app/src/main/java/org/oxycblt/auxio/ui/EdgeFrameLayout.kt
similarity index 93%
rename from app/src/main/java/org/oxycblt/auxio/home/EdgeFrameLayout.kt
rename to app/src/main/java/org/oxycblt/auxio/ui/EdgeFrameLayout.kt
index 5deec4fcc..c057eccea 100644
--- a/app/src/main/java/org/oxycblt/auxio/home/EdgeFrameLayout.kt
+++ b/app/src/main/java/org/oxycblt/auxio/ui/EdgeFrameLayout.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.home
+package org.oxycblt.auxio.ui
import android.content.Context
import android.util.AttributeSet
@@ -40,8 +40,8 @@ constructor(context: Context, attrs: AttributeSet? = null, @AttrRes defStyleAttr
}
override fun onApplyWindowInsets(insets: WindowInsets): WindowInsets {
- // Prevent excessive layouts by using translation instead of padding.
updatePadding(bottom = insets.systemBarInsetsCompat.bottom)
return insets
}
}
+
diff --git a/app/src/main/res/layout-w720dp/fragment_main.xml b/app/src/main/res/layout-w720dp/fragment_main.xml
index 90a55472a..c7cd805f2 100644
--- a/app/src/main/res/layout-w720dp/fragment_main.xml
+++ b/app/src/main/res/layout-w720dp/fragment_main.xml
@@ -8,7 +8,7 @@
android:background="?attr/colorSurface">
-
@@ -23,7 +23,7 @@
tools:layout="@layout/fragment_home" />
-
-
+
-
+
-
@@ -53,5 +53,5 @@
-
+
diff --git a/app/src/main/res/layout/fragment_main.xml b/app/src/main/res/layout/fragment_main.xml
index ad115ed4c..9c4de0ad4 100644
--- a/app/src/main/res/layout/fragment_main.xml
+++ b/app/src/main/res/layout/fragment_main.xml
@@ -8,7 +8,7 @@
android:background="?attr/colorSurface"
android:transitionGroup="true">
-
@@ -28,7 +28,7 @@
android:layout_height="match_parent"
android:visibility="invisible" />
-
-
+
-
+