feat(player/stats-dialog): add copy button to video id

This commit is contained in:
FineFindus 2023-12-20 19:22:38 +01:00
parent 96ace8bffd
commit 39f9fb07f5
No known key found for this signature in database
GPG Key ID: 64873EE210FF8E6B
3 changed files with 13 additions and 0 deletions

View File

@ -1,10 +1,13 @@
package com.github.libretube.ui.sheets
import android.annotation.SuppressLint
import android.content.ClipData
import android.content.ClipboardManager
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.content.ContextCompat.getSystemService
import com.github.libretube.constants.IntentData
import com.github.libretube.databinding.DialogStatsBinding
import com.github.libretube.extensions.parcelable
@ -33,7 +36,12 @@ class StatsSheet : ExpandedBottomSheet() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
val binding = binding
val clipboard = context?.let { getSystemService(it, ClipboardManager::class.java) }
binding.videoId.setText(stats.videoId)
binding.videoIdCopy.setEndIconOnClickListener {
clipboard?.setPrimaryClip(ClipData.newPlainText("text", stats.videoId))
}
binding.videoInfo.setText(stats.videoInfo)
binding.audioInfo.setText(stats.audioInfo)
binding.videoQuality.setText(stats.videoQuality)

View File

@ -56,7 +56,11 @@
<com.google.android.material.textfield.TextInputLayout
style="@style/CustomDialogTextInputLayout"
android:id="@+id/video_id_copy"
android:layout_marginTop="10dp"
app:endIconMode="custom"
app:endIconContentDescription="@string/copy_tooltip"
app:endIconDrawable="@drawable/ic_copy"
android:hint="@string/video_id">
<com.google.android.material.textfield.TextInputEditText

View File

@ -401,6 +401,7 @@
<string name="category">Category</string>
<string name="stats_for_nerds">Stats for nerds</string>
<string name="video_id">Video ID</string>
<string name="copy_tooltip">Copy</string>
<string name="autoplay_countdown">Autoplay countdown</string>
<string name="autoplay_countdown_summary">Show a 5s countdown before auto-playing the next video.</string>
<string name="playing_next">Playing next in %1$s</string>