From ae00a308fe7f80b09098373063d110ca99322b8c Mon Sep 17 00:00:00 2001 From: OxygenCobalt Date: Tue, 12 Jul 2022 12:13:23 -0600 Subject: [PATCH] all: fix version-specific issues Fix a few version-specific issues so that I don't make a critical blunder like I did in 2.4.0. --- .../main/java/org/oxycblt/auxio/home/HomeFragment.kt | 10 ++++++++++ app/src/main/java/org/oxycblt/auxio/music/MusicUtil.kt | 4 ++-- .../oxycblt/auxio/music/system/MediaStoreBackend.kt | 1 + app/src/main/res/layout/fragment_home.xml | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt index 31ff83809..4fa150696 100644 --- a/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt @@ -104,6 +104,11 @@ class HomeFragment : ViewBindingFragment(), Toolbar.OnMenuI binding.homeToolbar.setOnMenuItemClickListener(this@HomeFragment) + binding.homeIndexingContainer.setOnApplyWindowInsetsListener { v, insets -> + logD("do basics you retard") + insets + } + updateTabConfiguration() // Load the track color in manually as it's unclear whether the track actually supports @@ -129,6 +134,11 @@ class HomeFragment : ViewBindingFragment(), Toolbar.OnMenuI TabLayoutMediator(binding.homeTabs, this, AdaptiveTabStrategy(context, homeModel)) .attach() + + // ViewPager2 will nominally consume window insets, which will then break the window + // insets applied to the indexing view before API 30. Fix this by overriding the + // callback with a no-op listener. + setOnApplyWindowInsetsListener { _, insets -> insets } } binding.homeFab.setOnClickListener { playbackModel.shuffleAll() } diff --git a/app/src/main/java/org/oxycblt/auxio/music/MusicUtil.kt b/app/src/main/java/org/oxycblt/auxio/music/MusicUtil.kt index abb1c2bcf..5bb0a3eaa 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/MusicUtil.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/MusicUtil.kt @@ -69,14 +69,14 @@ val String.plainTrackNo: Int? * invalid. */ val Int.packedTrackNo: Int? - get() = div(1000).nonZeroOrNull() + get() = mod(1000).nonZeroOrNull() /** * Parse out the disc number field as if the given Int is formatted as DTTT, where D Is the disc and * T is the track number. Values of zero will be ignored under the assumption that they are invalid. */ val Int.packedDiscNo: Int? - get() = mod(1000).nonZeroOrNull() + get() = div(1000).nonZeroOrNull() /** * Parse out the number field from an NN/TT string that is typically found in DISC_NUMBER and diff --git a/app/src/main/java/org/oxycblt/auxio/music/system/MediaStoreBackend.kt b/app/src/main/java/org/oxycblt/auxio/music/system/MediaStoreBackend.kt index cd2f7ca90..e0439ca92 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/system/MediaStoreBackend.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/system/MediaStoreBackend.kt @@ -454,6 +454,7 @@ class Api21MediaStoreBackend : MediaStoreBackend() { val rawTrack = cursor.getIntOrNull(trackIndex) if (rawTrack != null) { + logD(rawTrack) rawTrack.packedTrackNo?.let { logD(it) audio.track = it diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 170e4ed7a..f2474ae32 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -52,7 +52,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="@dimen/spacing_medium" - android:visibility="invisible" android:layout_gravity="center"> +