feat(ui): show snackbar when content is copied to clipboard

This commit is contained in:
2026-04-18 20:08:43 +02:00
parent abd9b5ecd9
commit 297310a784
@@ -190,36 +190,42 @@ data class LayoutHolder(var rootView: View) {
context, context,
sheetStreamingLinkView?.text ?: "" sheetStreamingLinkView?.text ?: ""
) )
Snackbar.make(rootView, R.string.toastmessage_copied_to_clipboard, Snackbar.LENGTH_LONG).show()
} }
sheetStreamingLinkView?.setOnClickListener { sheetStreamingLinkView?.setOnClickListener {
copyToClipboard( copyToClipboard(
context, context,
sheetStreamingLinkView?.text ?: "" sheetStreamingLinkView?.text ?: ""
) )
Snackbar.make(rootView, R.string.toastmessage_copied_to_clipboard, Snackbar.LENGTH_LONG).show()
} }
sheetMetadataHistoryHeadline?.setOnClickListener { sheetMetadataHistoryHeadline?.setOnClickListener {
copyToClipboard( copyToClipboard(
context, context,
sheetMetadataHistoryView?.text ?: "" sheetMetadataHistoryView?.text ?: ""
) )
Snackbar.make(rootView, R.string.toastmessage_copied_to_clipboard, Snackbar.LENGTH_LONG).show()
} }
sheetMetadataHistoryView?.setOnClickListener { sheetMetadataHistoryView?.setOnClickListener {
copyToClipboard( copyToClipboard(
context, context,
sheetMetadataHistoryView?.text ?: "" sheetMetadataHistoryView?.text ?: ""
) )
Snackbar.make(rootView, R.string.toastmessage_copied_to_clipboard, Snackbar.LENGTH_LONG).show()
} }
sheetCopyMetadataButtonView?.setOnClickListener { sheetCopyMetadataButtonView?.setOnClickListener {
copyToClipboard( copyToClipboard(
context, context,
sheetMetadataHistoryView?.text ?: "" sheetMetadataHistoryView?.text ?: ""
) )
Snackbar.make(rootView, R.string.toastmessage_copied_to_clipboard, Snackbar.LENGTH_LONG).show()
} }
sheetBitrateView?.setOnClickListener { sheetBitrateView?.setOnClickListener {
copyToClipboard( copyToClipboard(
context, context,
sheetBitrateView?.text ?: "" sheetBitrateView?.text ?: ""
) )
Snackbar.make(rootView, R.string.toastmessage_copied_to_clipboard, Snackbar.LENGTH_LONG).show()
} }
sheetShareLinkButtonView?.setOnClickListener { sheetShareLinkButtonView?.setOnClickListener {
val share = Intent.createChooser(Intent().apply { val share = Intent.createChooser(Intent().apply {
@@ -238,10 +244,7 @@ data class LayoutHolder(var rootView: View) {
val clip: ClipData = ClipData.newPlainText("simple text", clipString) val clip: ClipData = ClipData.newPlainText("simple text", clipString)
val cm: ClipboardManager = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager val cm: ClipboardManager = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
cm.setPrimaryClip(clip) cm.setPrimaryClip(clip)
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) { Snackbar.make(rootView, R.string.toastmessage_copied_to_clipboard, Snackbar.LENGTH_LONG).show()
// since API 33 (TIRAMISU) the OS displays its own notification when content is copied to the clipboard
Snackbar.make(rootView, R.string.toastmessage_copied_to_clipboard, Snackbar.LENGTH_LONG).show()
}
} }
@@ -251,6 +254,7 @@ data class LayoutHolder(var rootView: View) {
val stringBuilder: StringBuilder = StringBuilder() val stringBuilder: StringBuilder = StringBuilder()
metadataHistory.forEach { stringBuilder.append("${it.trim()}\n") } metadataHistory.forEach { stringBuilder.append("${it.trim()}\n") }
copyToClipboard(rootView.context, stringBuilder.toString()) copyToClipboard(rootView.context, stringBuilder.toString())
Snackbar.make(rootView, R.string.toastmessage_copied_to_clipboard, Snackbar.LENGTH_LONG).show()
} }