From e1abb7f8ae7799c8952ea76accdf3a63f25b70f7 Mon Sep 17 00:00:00 2001 From: Kai Date: Fri, 11 Jul 2025 12:18:02 -0500 Subject: [PATCH] prevent scroll to top from showing when it shouldn't fix zero state Changelog: changed --- .../platformplayer/activities/MainActivity.kt | 1 - .../mainactivity/main/ShortsFragment.kt | 4 +++- .../mainactivity/main/VideoDetailView.kt | 2 +- .../views/segments/CommentsList.kt | 18 +++++++++--------- .../layout/fragment_overview_bottom_bar.xml | 2 +- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/futo/platformplayer/activities/MainActivity.kt b/app/src/main/java/com/futo/platformplayer/activities/MainActivity.kt index 633f108a..0d5bf8d9 100644 --- a/app/src/main/java/com/futo/platformplayer/activities/MainActivity.kt +++ b/app/src/main/java/com/futo/platformplayer/activities/MainActivity.kt @@ -1155,7 +1155,6 @@ class MainActivity : AppCompatActivity, IWithResultLauncher { if (segment.isMainView) { var transaction = supportFragmentManager.beginTransaction(); - transaction.setReorderingAllowed(true) if (segment.topBar != null) { if (segment.topBar != fragCurrent.topBar) { transaction = transaction diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/ShortsFragment.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/ShortsFragment.kt index bd313f5f..63937bc6 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/ShortsFragment.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/ShortsFragment.kt @@ -101,6 +101,8 @@ class ShortsFragment : MainFragment() { viewPager?.adapter?.notifyDataSetChanged() viewPager?.currentItem = 0 } + + updateZeroState() } override fun onCreateMainView( @@ -201,7 +203,7 @@ class ShortsFragment : MainFragment() { } private fun updateZeroState() { - if (mainShorts.isEmpty()) { + if (mainShorts.isEmpty() && !isChannelShortsMode && loadPagerTask == null) { zeroState.visibility = View.VISIBLE } else { zeroState.visibility = View.GONE diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt index 06ecf41a..780917ed 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt @@ -3018,7 +3018,7 @@ class VideoDetailView : ConstraintLayout { } else if(isOverlayed) { _playerProgress.layoutParams = _playerProgress.layoutParams.apply { - (this as MarginLayoutParams).bottomMargin = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, -6f, resources.displayMetrics).toInt(); + (this as MarginLayoutParams).bottomMargin = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, -2f, resources.displayMetrics).toInt(); }; _playerProgress.elevation = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 5f, resources.displayMetrics); } diff --git a/app/src/main/java/com/futo/platformplayer/views/segments/CommentsList.kt b/app/src/main/java/com/futo/platformplayer/views/segments/CommentsList.kt index a1ccd142..7a3d5440 100644 --- a/app/src/main/java/com/futo/platformplayer/views/segments/CommentsList.kt +++ b/app/src/main/java/com/futo/platformplayer/views/segments/CommentsList.kt @@ -68,15 +68,7 @@ class CommentsList : ConstraintLayout { UIDialogs.showGeneralRetryErrorDialog(context, it.message ?: "", it, { loadNextPage() }); }; - private val _scrollListener = object : RecyclerView.OnScrollListener() { - override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) { - super.onScrolled(recyclerView, dx, dy); - onScrolled(); - - val totalScrollDistance = recyclerView.computeVerticalScrollOffset() - _layoutScrollToTop.visibility = if (totalScrollDistance > recyclerView.height) View.VISIBLE else View.GONE - } - }; + private val _scrollListener: RecyclerView.OnScrollListener private var _loader: (suspend () -> IPager)? = null; private val _adapterComments: InsertedViewAdapterWithLoader; @@ -131,6 +123,14 @@ class CommentsList : ConstraintLayout { _llmReplies = LinearLayoutManager(context); _recyclerComments.layoutManager = _llmReplies; _recyclerComments.adapter = _adapterComments; + _scrollListener = object : RecyclerView.OnScrollListener() { + override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) { + super.onScrolled(recyclerView, dx, dy); + onScrolled(); + + _layoutScrollToTop.visibility = if (_llmReplies.findFirstCompletelyVisibleItemPosition() > 5) View.VISIBLE else View.GONE + } + }; _recyclerComments.addOnScrollListener(_scrollListener); } diff --git a/app/src/main/res/layout/fragment_overview_bottom_bar.xml b/app/src/main/res/layout/fragment_overview_bottom_bar.xml index 30b6b752..11c33b2c 100644 --- a/app/src/main/res/layout/fragment_overview_bottom_bar.xml +++ b/app/src/main/res/layout/fragment_overview_bottom_bar.xml @@ -38,7 +38,7 @@