From c0d890572e028dae948c5e75cbed37e3891e3ac1 Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Tue, 21 Jun 2022 13:44:32 -0500 Subject: [PATCH] Allow copying result form fields to clipboard --- .../eu/siacs/conversations/entities/Conversation.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/eu/siacs/conversations/entities/Conversation.java b/src/main/java/eu/siacs/conversations/entities/Conversation.java index 3934a6d97f7658d75d1800759516bc034f423d40..f219980340e0a72160ffdd1c447caad9afee170b 100644 --- a/src/main/java/eu/siacs/conversations/entities/Conversation.java +++ b/src/main/java/eu/siacs/conversations/entities/Conversation.java @@ -1,5 +1,7 @@ package eu.siacs.conversations.entities; +import android.content.ClipData; +import android.content.ClipboardManager; import android.content.ContentValues; import android.database.Cursor; import android.database.DataSetObserver; @@ -18,6 +20,7 @@ import android.widget.ArrayAdapter; import android.widget.AdapterView; import android.widget.CompoundButton; import android.widget.TextView; +import android.widget.Toast; import android.widget.Spinner; import android.webkit.WebView; import android.webkit.WebViewClient; @@ -1430,6 +1433,14 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl } } binding.values.setAdapter(values); + + ClipboardManager clipboard = binding.getRoot().getContext().getSystemService(ClipboardManager.class); + binding.values.setOnItemLongClickListener((arg0, arg1, pos, id) -> { + ClipData myClip = ClipData.newPlainText("text", values.getItem(pos)); + clipboard.setPrimaryClip(myClip); + Toast.makeText(binding.getRoot().getContext(), R.string.message_copied_to_clipboard, Toast.LENGTH_SHORT).show(); + return true; + }); } }