From 39f9fb07f5d726d17a414ffed1241ffd4f6318e9 Mon Sep 17 00:00:00 2001 From: FineFindus Date: Wed, 20 Dec 2023 19:22:38 +0100 Subject: [PATCH] feat(player/stats-dialog): add copy button to video id --- .../java/com/github/libretube/ui/sheets/StatsSheet.kt | 8 ++++++++ app/src/main/res/layout/dialog_stats.xml | 4 ++++ app/src/main/res/values/strings.xml | 1 + 3 files changed, 13 insertions(+) diff --git a/app/src/main/java/com/github/libretube/ui/sheets/StatsSheet.kt b/app/src/main/java/com/github/libretube/ui/sheets/StatsSheet.kt index c331c86f1..6e44b12da 100644 --- a/app/src/main/java/com/github/libretube/ui/sheets/StatsSheet.kt +++ b/app/src/main/java/com/github/libretube/ui/sheets/StatsSheet.kt @@ -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) diff --git a/app/src/main/res/layout/dialog_stats.xml b/app/src/main/res/layout/dialog_stats.xml index 106d9dbdc..4f12b3f64 100644 --- a/app/src/main/res/layout/dialog_stats.xml +++ b/app/src/main/res/layout/dialog_stats.xml @@ -56,7 +56,11 @@ Category Stats for nerds Video ID + Copy Autoplay countdown Show a 5s countdown before auto-playing the next video. Playing next in %1$s