From f3a02666940805bc0a885bd621570ea19e95dc68 Mon Sep 17 00:00:00 2001 From: Rodrigo Sanabria Date: Wed, 26 Aug 2020 18:56:19 +0200 Subject: [PATCH] Add long press option to copy content to clipboard (#135) --- .../gotify/messages/ListMessageAdapter.java | 31 +++++++++++++++++++ app/src/main/res/values/strings.xml | 1 + 2 files changed, 32 insertions(+) diff --git a/app/src/main/java/com/github/gotify/messages/ListMessageAdapter.java b/app/src/main/java/com/github/gotify/messages/ListMessageAdapter.java index 3c6da03..02aad06 100644 --- a/app/src/main/java/com/github/gotify/messages/ListMessageAdapter.java +++ b/app/src/main/java/com/github/gotify/messages/ListMessageAdapter.java @@ -1,5 +1,7 @@ package com.github.gotify.messages; +import android.content.ClipData; +import android.content.ClipboardManager; import android.content.Context; import android.text.util.Linkify; import android.view.LayoutInflater; @@ -8,6 +10,7 @@ import android.view.ViewGroup; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.TextView; +import android.widget.Toast; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import butterknife.BindView; @@ -133,6 +136,7 @@ public class ListMessageAdapter extends RecyclerView.Adapter { + ClipboardManager clipboard = + (ClipboardManager) + view.getContext() + .getSystemService(Context.CLIPBOARD_SERVICE); + ClipData clip = + ClipData.newPlainText( + "GotifyMessageContent", message.getText().toString()); + + if (clipboard != null) { + clipboard.setPrimaryClip(clip); + Toast toast = + Toast.makeText( + view.getContext(), + view.getContext() + .getString( + R.string.message_copied_to_clipboard), + Toast.LENGTH_SHORT); + toast.show(); + } + + return true; + }); + } } public interface Delete { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7daf113..a52569e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -74,4 +74,5 @@ Title Content Priority + Content copied to clipboard