diff --git a/app/src/main/java/org/oxycblt/auxio/MainFragment.kt b/app/src/main/java/org/oxycblt/auxio/MainFragment.kt index a95b83fc7..4dffc6ff6 100644 --- a/app/src/main/java/org/oxycblt/auxio/MainFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/MainFragment.kt @@ -78,8 +78,10 @@ class MainFragment : Fragment() { // Auxio's layout completely breaks down when it's window is resized too small, // but for some insane reason google decided to cripple the window APIs one could use // to limit it's size. So, we just have our own special layout that is shown whenever - // the screen is too small because nothing works the way it should and everything - // is broken. + // the screen is too small because of course we have to. + // Another fun fact: smallestScreenWidthDp is completely bugged and uses the total + // screen size, even when the window is smaller. This basically borks split screen + // even more than it already does. Fun! if (requireActivity().isInMultiWindowMode) { val config = resources.configuration diff --git a/app/src/main/java/org/oxycblt/auxio/home/AdaptiveFloatingActionButton.kt b/app/src/main/java/org/oxycblt/auxio/home/AdaptiveFloatingActionButton.kt new file mode 100644 index 000000000..90ffba753 --- /dev/null +++ b/app/src/main/java/org/oxycblt/auxio/home/AdaptiveFloatingActionButton.kt @@ -0,0 +1,24 @@ +package org.oxycblt.auxio.home + +import android.content.Context +import android.util.AttributeSet +import com.google.android.material.floatingactionbutton.FloatingActionButton +import com.google.android.material.R as MaterialR + +class AdaptiveFloatingActionButton @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = MaterialR.style.Widget_Material3_FloatingActionButton_Primary +) : FloatingActionButton(context, attrs, defStyleAttr) { + + init { + size = SIZE_NORMAL + + if (resources.configuration.smallestScreenWidthDp >= 640) { + customSize = resources.getDimensionPixelSize(MaterialR.dimen.m3_large_fab_size) + setMaxImageSize( + resources.getDimensionPixelSize(MaterialR.dimen.m3_large_fab_max_image_size) + ) + } + } +} diff --git a/app/src/main/java/org/oxycblt/auxio/home/AdaptiveTabStrategy.kt b/app/src/main/java/org/oxycblt/auxio/home/AdaptiveTabStrategy.kt index f0e966629..1faa95a88 100644 --- a/app/src/main/java/org/oxycblt/auxio/home/AdaptiveTabStrategy.kt +++ b/app/src/main/java/org/oxycblt/auxio/home/AdaptiveTabStrategy.kt @@ -18,7 +18,7 @@ class AdaptiveTabStrategy( tab.setIcon(tabMode.icon) .setContentDescription(tabMode.string) - width < 600 -> tab.setText(tabMode.string) + width < 640 -> tab.setText(tabMode.string) else -> tab.setIcon(tabMode.icon) diff --git a/app/src/main/res/layout-sw640dp/fragment_home_list.xml b/app/src/main/res/layout-sw640dp/fragment_home_list.xml new file mode 100644 index 000000000..d5b83ad83 --- /dev/null +++ b/app/src/main/res/layout-sw640dp/fragment_home_list.xml @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout-sw600dp/view_playback_bar.xml b/app/src/main/res/layout-sw640dp/view_playback_bar.xml similarity index 100% rename from app/src/main/res/layout-sw600dp/view_playback_bar.xml rename to app/src/main/res/layout-sw640dp/view_playback_bar.xml diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 2a829d4a6..285774204 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -49,10 +49,11 @@ app:layout_anchor="@id/home_pager" app:layout_anchorGravity="bottom|end"> - diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 86f2ace36..2344c2bd7 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -32,6 +32,9 @@ 6dp 12dp + 88dp + 128dp + 176dp 110dp @dimen/widget_width_min diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2769dc4f3..4fcf5ac44 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -107,7 +107,7 @@ Auxio needs permission to read your music library No app can open this link This directory is not supported - Auxio does not support this screen size + Auxio does not support this window size Search your library…