[Android] Fix playqueue scroll trigger
Nicolas Pomepuy
git at videolan.org
Mon Jan 27 12:46:54 UTC 2025
vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Wed Jan 15 16:20:17 2025 +0100| [a924725444a4acea8019132e94c686093c119db1] | committer: Duncan McNamara
Fix playqueue scroll trigger
Fixes #3121
> https://code.videolan.org/videolan/vlc-android/commit/a924725444a4acea8019132e94c686093c119db1
---
.../videolan/vlc/gui/AudioPlayerContainerActivity.kt | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/AudioPlayerContainerActivity.kt b/application/vlc-android/src/org/videolan/vlc/gui/AudioPlayerContainerActivity.kt
index bef88a1c2f..b1b5c2f7ab 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/AudioPlayerContainerActivity.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/AudioPlayerContainerActivity.kt
@@ -55,7 +55,6 @@ import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.launch
-import org.videolan.libvlc.util.AndroidUtil
import org.videolan.medialibrary.interfaces.Medialibrary
import org.videolan.resources.KEY_CURRENT_AUDIO
import org.videolan.resources.util.getFromMl
@@ -255,6 +254,21 @@ open class AudioPlayerContainerActivity : BaseActivity(), KeycodeListener, Sched
(audioPlayerContainer.layoutParams as CoordinatorLayout.LayoutParams).bottomMargin = bottomInset
}
+ private fun updateToolbarScrollability(enabled: Boolean) {
+ val params = toolbar.layoutParams as AppBarLayout.LayoutParams
+ val appBarLayoutParams = appBarLayout.layoutParams as CoordinatorLayout.LayoutParams
+
+ if (!enabled) {
+ params.scrollFlags = 0
+ appBarLayoutParams.behavior = null
+ appBarLayout.setLayoutParams(appBarLayoutParams)
+ } else {
+ params.scrollFlags = AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL or AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS or AppBarLayout.LayoutParams.SCROLL_FLAG_SNAP
+ appBarLayoutParams.behavior = AppBarLayout.Behavior()
+ appBarLayout.setLayoutParams(appBarLayoutParams)
+ }
+ }
+
fun setTabLayoutVisibility(show: Boolean) {
tabLayout?.layoutParams?.height = if (show) ViewGroup.LayoutParams.WRAP_CONTENT else 0
tabLayout?.requestLayout()
@@ -347,6 +361,7 @@ open class AudioPlayerContainerActivity : BaseActivity(), KeycodeListener, Sched
STATE_HIDDEN -> audioPlayerContainer.announceForAccessibility(getString(R.string.talkback_audio_player_closed))
}
}
+ updateToolbarScrollability(newState == STATE_COLLAPSED)
}
})
showTipViewIfNeeded(R.id.audio_player_tips, PREF_AUDIOPLAYER_TIPS_SHOWN)
More information about the Android
mailing list