From 09367da85f0676b053bedd14f48b498e07c2b15e Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 18 Mar 2020 08:38:04 +0100 Subject: [PATCH] Edit plain text --- .../java/eu/faircode/email/EditTextPlain.java | 64 +++++++++++++++++++ app/src/main/res/layout/dialog_folder_all.xml | 4 +- .../main/res/layout/dialog_folder_select.xml | 2 +- .../main/res/layout/dialog_insert_link.xml | 4 +- .../main/res/layout/dialog_keyword_add.xml | 4 +- app/src/main/res/layout/dialog_open_link.xml | 2 +- app/src/main/res/layout/dialog_pin_ask.xml | 2 +- app/src/main/res/layout/dialog_pin_set.xml | 2 +- app/src/main/res/layout/fragment_account.xml | 14 ++-- app/src/main/res/layout/fragment_answer.xml | 2 +- app/src/main/res/layout/fragment_compose.xml | 4 +- app/src/main/res/layout/fragment_folder.xml | 10 +-- app/src/main/res/layout/fragment_gmail.xml | 4 +- app/src/main/res/layout/fragment_identity.xml | 22 +++---- app/src/main/res/layout/fragment_oauth.xml | 6 +- .../res/layout/fragment_options_behavior.xml | 2 +- .../layout/fragment_options_connection.xml | 4 +- app/src/main/res/layout/fragment_pop.xml | 12 ++-- .../main/res/layout/fragment_quick_setup.xml | 6 +- app/src/main/res/layout/fragment_rule.xml | 14 ++-- .../main/res/layout/popup_search_in_text.xml | 4 +- 21 files changed, 126 insertions(+), 62 deletions(-) create mode 100644 app/src/main/java/eu/faircode/email/EditTextPlain.java diff --git a/app/src/main/java/eu/faircode/email/EditTextPlain.java b/app/src/main/java/eu/faircode/email/EditTextPlain.java new file mode 100644 index 0000000000..90799b493e --- /dev/null +++ b/app/src/main/java/eu/faircode/email/EditTextPlain.java @@ -0,0 +1,64 @@ +package eu.faircode.email; + +/* + This file is part of FairEmail. + + FairEmail is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + FairEmail is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with FairEmail. If not, see . + + Copyright 2018-2020 by Marcel Bokhorst (M66B) +*/ + +import android.content.ClipData; +import android.content.ClipboardManager; +import android.content.Context; +import android.util.AttributeSet; + +import androidx.appcompat.widget.AppCompatEditText; + +public class EditTextPlain extends AppCompatEditText { + public EditTextPlain(Context context) { + super(context); + } + + public EditTextPlain(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public EditTextPlain(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + @Override + public boolean onTextContextMenuItem(int id) { + try { + if (id == android.R.id.paste) { + Context context = getContext(); + ClipboardManager cbm = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); + if (cbm != null && cbm.hasPrimaryClip()) { + ClipData data = cbm.getPrimaryClip(); + ClipData.Item item = data.getItemAt(0); + + CharSequence text = item.coerceToText(context); + data = ClipData.newPlainText("coerced_plain_text", text); + cbm.setPrimaryClip(data); + } + } + + return super.onTextContextMenuItem(id); + } catch (Throwable ex) { + Log.w(ex); + return false; + } + } +} diff --git a/app/src/main/res/layout/dialog_folder_all.xml b/app/src/main/res/layout/dialog_folder_all.xml index e7141c0569..59ab2dbdc7 100644 --- a/app/src/main/res/layout/dialog_folder_all.xml +++ b/app/src/main/res/layout/dialog_folder_all.xml @@ -56,7 +56,7 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/cbDownload" /> - - - - - + - - + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_open_link.xml b/app/src/main/res/layout/dialog_open_link.xml index 462eee6b61..0e48db6b66 100644 --- a/app/src/main/res/layout/dialog_open_link.xml +++ b/app/src/main/res/layout/dialog_open_link.xml @@ -53,7 +53,7 @@ app:layout_constraintEnd_toEndOf="parent" app:srcCompat="@drawable/baseline_bookmarks_24" /> - - - - - - - - - - - - - - - - - - - - +