From 03a6e190a1c108bf53d5d18b200c339f74a2e057 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Fri, 29 Jul 2022 07:57:16 +0200 Subject: [PATCH 1/2] fix the double tap overlay margin --- .../libretube/fragments/PlayerFragment.kt | 1 - .../libretube/views/CustomExoPlayerView.kt | 20 ------------------- app/src/main/res/layout/fragment_player.xml | 4 +++- 3 files changed, 3 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt b/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt index f9499d3c8..02a3a7e18 100644 --- a/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt +++ b/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt @@ -600,7 +600,6 @@ class PlayerFragment : Fragment() { } mainActivity.requestedOrientation = orientation } - binding.player.setDoubleTapOverlayLayoutParams(90) Globals.IS_FULL_SCREEN = true } diff --git a/app/src/main/java/com/github/libretube/views/CustomExoPlayerView.kt b/app/src/main/java/com/github/libretube/views/CustomExoPlayerView.kt index 3557cc3a7..8dd5de208 100644 --- a/app/src/main/java/com/github/libretube/views/CustomExoPlayerView.kt +++ b/app/src/main/java/com/github/libretube/views/CustomExoPlayerView.kt @@ -54,26 +54,6 @@ internal class CustomExoPlayerView( setOnClickListener(doubleTouchListener) } - override fun hideController() { - super.hideController() - setDoubleTapOverlayLayoutParams(0) - } - - override fun showController() { - setDoubleTapOverlayLayoutParams(90) - super.showController() - } - - // set the top and bottom margin of the double tap overlay - fun setDoubleTapOverlayLayoutParams(margin: Int) { - val dpMargin = resources?.displayMetrics?.density!!.toInt() * margin - val doubleTapOverlay = binding.root.findViewById(R.id.doubleTapOverlay) - val params = doubleTapOverlay.layoutParams as MarginLayoutParams - params.topMargin = dpMargin - params.bottomMargin = dpMargin - doubleTapOverlay.layoutParams = params - } - override fun onTouchEvent(event: MotionEvent): Boolean { // save the x position of the touch event xPos = event.x diff --git a/app/src/main/res/layout/fragment_player.xml b/app/src/main/res/layout/fragment_player.xml index 34db86c55..97a7f5680 100644 --- a/app/src/main/res/layout/fragment_player.xml +++ b/app/src/main/res/layout/fragment_player.xml @@ -377,7 +377,9 @@ + android:layout_gravity="center" + android:gravity="center" + android:layout_height="wrap_content" /> From ba0263791cb135c459d0f46b1b22b47a21d75faa Mon Sep 17 00:00:00 2001 From: Bnyro Date: Fri, 29 Jul 2022 08:04:51 +0200 Subject: [PATCH 2/2] fix subscriptions --- .../libretube/adapters/TrendingAdapter.kt | 18 +++++++++++++++--- .../fragments/SubscriptionsFragment.kt | 16 +++++++++++++++- .../libretube/views/CustomExoPlayerView.kt | 1 - 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/github/libretube/adapters/TrendingAdapter.kt b/app/src/main/java/com/github/libretube/adapters/TrendingAdapter.kt index 4c4b4f30e..2451acd75 100644 --- a/app/src/main/java/com/github/libretube/adapters/TrendingAdapter.kt +++ b/app/src/main/java/com/github/libretube/adapters/TrendingAdapter.kt @@ -16,12 +16,24 @@ import com.github.libretube.util.setWatchProgressLength class TrendingAdapter( private val streamItems: List, - private val childFragmentManager: FragmentManager + private val childFragmentManager: FragmentManager, + private val showAllAtOne: Boolean = true ) : RecyclerView.Adapter() { - private val TAG = "SubscriptionAdapter" + private val TAG = "TrendingAdapter" + + var index = 10 override fun getItemCount(): Int { - return streamItems.size + return if (showAllAtOne) streamItems.size + else index + } + + fun updateItems() { + index += 10 + if (index > streamItems.size) { + index = streamItems.size + } + notifyDataSetChanged() } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): SubscriptionViewHolder { diff --git a/app/src/main/java/com/github/libretube/fragments/SubscriptionsFragment.kt b/app/src/main/java/com/github/libretube/fragments/SubscriptionsFragment.kt index c6261cdfa..731c150c7 100644 --- a/app/src/main/java/com/github/libretube/fragments/SubscriptionsFragment.kt +++ b/app/src/main/java/com/github/libretube/fragments/SubscriptionsFragment.kt @@ -85,6 +85,20 @@ class SubscriptionsFragment : Fragment() { binding.subFeedContainer.visibility = View.VISIBLE } } + + binding.scrollviewSub.viewTreeObserver + .addOnScrollChangedListener { + if (binding.scrollviewSub.getChildAt(0).bottom + == (binding.scrollviewSub.height + binding.scrollviewSub.scrollY) + ) { + // scroll view is at bottom + if (isLoaded) { + binding.subRefresh.isRefreshing = true + subscriptionAdapter?.updateItems() + binding.subRefresh.isRefreshing = false + } + } + } } else { binding.subRefresh.isEnabled = false } @@ -106,7 +120,7 @@ class SubscriptionsFragment : Fragment() { binding.subRefresh.isRefreshing = false } if (response.isNotEmpty()) { - subscriptionAdapter = TrendingAdapter(response, childFragmentManager) + subscriptionAdapter = TrendingAdapter(response, childFragmentManager, false) feedRecView.adapter = subscriptionAdapter } else { runOnUiThread { diff --git a/app/src/main/java/com/github/libretube/views/CustomExoPlayerView.kt b/app/src/main/java/com/github/libretube/views/CustomExoPlayerView.kt index 8dd5de208..193609b63 100644 --- a/app/src/main/java/com/github/libretube/views/CustomExoPlayerView.kt +++ b/app/src/main/java/com/github/libretube/views/CustomExoPlayerView.kt @@ -5,7 +5,6 @@ import android.content.Context import android.util.AttributeSet import android.view.MotionEvent import android.view.View -import com.github.libretube.R import com.github.libretube.databinding.ExoStyledPlayerControlViewBinding import com.github.libretube.util.DoubleTapListener import com.github.libretube.util.OnDoubleTapEventListener