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" /> - - - - - - - - - - - - - - - - - - - - +