From 74d479c3dccf805b106c5fb76a4e9818d135cbcf Mon Sep 17 00:00:00 2001
From: andrewhamilton0 <102604324+andrewhamilton0@users.noreply.github.com>
Date: Mon, 2 Sep 2024 12:39:23 -0400
Subject: [PATCH] Fixes issue where alt text positioning covers video
controller (#4632)
Fixes issue where alt text positioning covers video controller
Also adds scroll view for more responsive scrolling
closes #4165
---
.../tusky/fragment/ViewVideoFragment.kt | 16 ++++----
.../main/res/layout/fragment_view_video.xml | 40 +++++++++++--------
2 files changed, 31 insertions(+), 25 deletions(-)
diff --git a/app/src/main/java/com/keylesspalace/tusky/fragment/ViewVideoFragment.kt b/app/src/main/java/com/keylesspalace/tusky/fragment/ViewVideoFragment.kt
index 675256241..d9ae9ff45 100644
--- a/app/src/main/java/com/keylesspalace/tusky/fragment/ViewVideoFragment.kt
+++ b/app/src/main/java/com/keylesspalace/tusky/fragment/ViewVideoFragment.kt
@@ -22,7 +22,6 @@ import android.graphics.drawable.Drawable
import android.os.Bundle
import android.os.Handler
import android.os.Looper
-import android.text.method.ScrollingMovementMethod
import android.view.GestureDetector
import android.view.Gravity
import android.view.LayoutInflater
@@ -353,12 +352,11 @@ class ViewVideoFragment : ViewMediaFragment() {
description: String?,
showingDescription: Boolean
) {
- binding.mediaDescription.text = description
- binding.mediaDescription.visible(showingDescription)
- binding.mediaDescription.movementMethod = ScrollingMovementMethod()
+ binding.mediaDescriptionTextView.text = description
+ binding.mediaDescriptionScrollView.visible(showingDescription)
// Ensure the description is visible over the video
- binding.mediaDescription.elevation = binding.videoView.elevation + 1
+ binding.mediaDescriptionScrollView.elevation = binding.videoView.elevation + 1
binding.videoView.transitionName = url
@@ -383,16 +381,16 @@ class ViewVideoFragment : ViewMediaFragment() {
val alpha = if (isDescriptionVisible) 1.0f else 0.0f
if (isDescriptionVisible) {
// If to be visible, need to make visible immediately and animate alpha
- binding.mediaDescription.alpha = 0.0f
- binding.mediaDescription.visible(isDescriptionVisible)
+ binding.mediaDescriptionScrollView.alpha = 0.0f
+ binding.mediaDescriptionScrollView.visible(isDescriptionVisible)
}
- binding.mediaDescription.animate().alpha(alpha)
+ binding.mediaDescriptionScrollView.animate().alpha(alpha)
.setListener(object : AnimatorListenerAdapter() {
@SuppressLint("SyntheticAccessor")
override fun onAnimationEnd(animation: Animator) {
view ?: return
- binding.mediaDescription.visible(isDescriptionVisible)
+ binding.mediaDescriptionScrollView.visible(isDescriptionVisible)
animation.removeListener(this)
}
})
diff --git a/app/src/main/res/layout/fragment_view_video.xml b/app/src/main/res/layout/fragment_view_video.xml
index 728dda2b3..77a02598a 100644
--- a/app/src/main/res/layout/fragment_view_video.xml
+++ b/app/src/main/res/layout/fragment_view_video.xml
@@ -8,22 +8,6 @@
android:clickable="true"
android:focusable="true">
-
-
+
+
+
+
+
+