diff --git a/app/src/main/java/com/github/libretube/ui/fragments/AudioPlayerFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/AudioPlayerFragment.kt
index aade47690a..051450e572 100644
--- a/app/src/main/java/com/github/libretube/ui/fragments/AudioPlayerFragment.kt
+++ b/app/src/main/java/com/github/libretube/ui/fragments/AudioPlayerFragment.kt
@@ -34,6 +34,7 @@ import com.github.libretube.extensions.togglePlayPauseState
import com.github.libretube.extensions.updateIfChanged
import com.github.libretube.helpers.AudioHelper
import com.github.libretube.helpers.BackgroundHelper
+import com.github.libretube.helpers.ClipboardHelper
import com.github.libretube.helpers.ImageHelper
import com.github.libretube.helpers.NavBarHelper
import com.github.libretube.helpers.NavigationHelper
@@ -117,6 +118,11 @@ class AudioPlayerFragment : Fragment(), AudioPlayerOptions {
binding.title.isSelected = true
binding.uploader.isSelected = true
+ binding.title.setOnLongClickListener {
+ ClipboardHelper.save(requireContext(), text = binding.title.text.toString())
+ true
+ }
+
binding.minimizePlayer.setOnClickListener {
val mainMotionLayout = mainActivity.binding.mainMotionLayout
mainMotionLayout.transitionToStart()
diff --git a/app/src/main/java/com/github/libretube/ui/views/ExpandableTextView.kt b/app/src/main/java/com/github/libretube/ui/views/ExpandableTextView.kt
index 22932c38ad..7104c03131 100644
--- a/app/src/main/java/com/github/libretube/ui/views/ExpandableTextView.kt
+++ b/app/src/main/java/com/github/libretube/ui/views/ExpandableTextView.kt
@@ -2,9 +2,11 @@ package com.github.libretube.ui.views
import android.content.Context
import android.text.TextUtils
+import android.text.util.Linkify
import android.util.AttributeSet
import androidx.appcompat.widget.AppCompatTextView
import com.github.libretube.R
+import com.github.libretube.helpers.ClipboardHelper
class ExpandableTextView(context: Context, attributeSet: AttributeSet? = null) :
AppCompatTextView(context, attributeSet) {
@@ -13,10 +15,15 @@ class ExpandableTextView(context: Context, attributeSet: AttributeSet? = null) :
maxLines = DEFAULT_MAX_LINES
ellipsize = TextUtils.TruncateAt.END
setBackgroundResource(R.drawable.rounded_ripple)
+ autoLinkMask = Linkify.WEB_URLS
setOnClickListener {
maxLines = if (maxLines == DEFAULT_MAX_LINES) Int.MAX_VALUE else DEFAULT_MAX_LINES
}
+ setOnLongClickListener {
+ ClipboardHelper.save(context, text = text.toString())
+ true
+ }
}
companion object {
diff --git a/app/src/main/res/layout/fragment_audio_player.xml b/app/src/main/res/layout/fragment_audio_player.xml
index 639b19ed78..cffaab7abb 100644
--- a/app/src/main/res/layout/fragment_audio_player.xml
+++ b/app/src/main/res/layout/fragment_audio_player.xml
@@ -137,7 +137,6 @@
style="@style/TextViewMarquee"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:textIsSelectable="true"
android:textSize="24sp" />
+ android:padding="10dp" />
diff --git a/app/src/main/res/layout/fragment_playlist.xml b/app/src/main/res/layout/fragment_playlist.xml
index 39a6e347b7..7f38561016 100644
--- a/app/src/main/res/layout/fragment_playlist.xml
+++ b/app/src/main/res/layout/fragment_playlist.xml
@@ -93,7 +93,6 @@
android:layout_weight="1"
android:paddingHorizontal="5dp"
android:paddingVertical="2dp"
- android:textIsSelectable="true"
android:textSize="20sp"
android:textStyle="bold" />
@@ -147,11 +146,9 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="5dp"
- android:autoLink="web"
android:paddingHorizontal="10dp"
android:paddingTop="5dp"
- android:paddingBottom="10dp"
- android:textIsSelectable="true" />
+ android:paddingBottom="10dp" />