From ffc04cea3d5ec4c1f690ab68f46055d4a81058a3 Mon Sep 17 00:00:00 2001 From: stom79 Date: Wed, 21 Nov 2018 11:45:24 +0100 Subject: [PATCH] Fix issue #574 - Copy account id into clipboard with long press --- .../mastodon/activities/ShowAccountActivity.java | 16 ++++++++++++++++ app/src/main/res/values/strings.xml | 1 + 2 files changed, 17 insertions(+) diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowAccountActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowAccountActivity.java index 30f35bd6d..643791670 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowAccountActivity.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowAccountActivity.java @@ -14,6 +14,8 @@ * see . */ package fr.gouv.etalab.mastodon.activities; +import android.content.ClipData; +import android.content.ClipboardManager; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; @@ -807,6 +809,20 @@ public class ShowAccountActivity extends BaseActivity implements OnPostActionInt account_dn.setText(Helper.shortnameToUnicode(account.getDisplay_name(), true)); account_un.setText(String.format("@%s", account.getAcct())); + account_un.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View v) { + ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); + String account_id = account.getAcct(); + if( account_id.split("@").length == 1) + account_id += "@" + Helper.getLiveInstance(getApplicationContext()); + ClipData clip = ClipData.newPlainText("mastodon_account_id", "@"+account_id); + Toast.makeText(getApplicationContext(),R.string.account_id_clipbloard, Toast.LENGTH_SHORT).show(); + assert clipboard != null; + clipboard.setPrimaryClip(clip); + return false; + } + }); SpannableString spannableString = Helper.clickableElementsDescription(ShowAccountActivity.this, account.getNote()); account.setNoteSpan(spannableString); account.makeEmojisAccountProfile(ShowAccountActivity.this, ShowAccountActivity.this); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 48788e368..f6fb5fd04 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -663,6 +663,7 @@ Bug Report There are no email clients installed. Send a bug report + The account id has been copied in the clipboard! Never