diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
index a8234224..983ae46d 100644
Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ
diff --git a/app/src/main/java/eu/faircode/email/FragmentMessage.java b/app/src/main/java/eu/faircode/email/FragmentMessage.java
index 50530190..ff5af432 100644
--- a/app/src/main/java/eu/faircode/email/FragmentMessage.java
+++ b/app/src/main/java/eu/faircode/email/FragmentMessage.java
@@ -259,7 +259,7 @@ public class FragmentMessage extends FragmentEx {
} else if (prefs.getBoolean("webview", false)) {
Bundle args = new Bundle();
- args.putString("link", url);
+ args.putString("url", url);
FragmentWebView fragment = new FragmentWebView();
fragment.setArguments(args);
@@ -584,6 +584,9 @@ public class FragmentMessage extends FragmentEx {
case R.id.menu_reply_all:
onMenuReplyAll();
return true;
+ case R.id.menu_show_html:
+ onMenuShowHtml();
+ return true;
case R.id.menu_answer:
onMenuAnswer();
return true;
@@ -625,6 +628,29 @@ public class FragmentMessage extends FragmentEx {
.putExtra("reference", message.id));
}
+ private void onMenuShowHtml() {
+ new SimpleTask() {
+ @Override
+ protected String onLoad(Context context, Bundle args) throws Throwable {
+ return message.read(context);
+ }
+
+ @Override
+ protected void onLoaded(Bundle a, String html) {
+ Bundle args = new Bundle();
+ args.putString("html", html);
+ args.putString("from", MessageHelper.getFormattedAddresses(message.from, true));
+
+ FragmentWebView fragment = new FragmentWebView();
+ fragment.setArguments(args);
+
+ FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
+ fragmentTransaction.replace(R.id.content_frame, fragment).addToBackStack("webview");
+ fragmentTransaction.commit();
+ }
+ }.load(this, new Bundle());
+ }
+
private void onMenuAnswer() {
DB.getInstance(getContext()).answer().liveAnswers().observe(getViewLifecycleOwner(), new Observer>() {
@Override
diff --git a/app/src/main/java/eu/faircode/email/FragmentWebView.java b/app/src/main/java/eu/faircode/email/FragmentWebView.java
index 73dd836c..4ac69fd8 100644
--- a/app/src/main/java/eu/faircode/email/FragmentWebView.java
+++ b/app/src/main/java/eu/faircode/email/FragmentWebView.java
@@ -35,23 +35,19 @@ import androidx.annotation.Nullable;
// https://developer.android.com/reference/android/webkit/WebView
public class FragmentWebView extends FragmentEx {
- private String url = null;
-
@Override
@Nullable
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_webview, container, false);
final ProgressBar progressBar = view.findViewById(R.id.progressbar);
- WebView webview = view.findViewById(R.id.webview);
+ final WebView webview = view.findViewById(R.id.webview);
progressBar.setProgress(0);
progressBar.setVisibility(View.VISIBLE);
WebSettings settings = webview.getSettings();
settings.setJavaScriptEnabled(true);
- settings.setLoadWithOverviewMode(true);
- settings.setUseWideViewPort(true);
settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
webview.setWebViewClient(new WebViewClient() {
@@ -71,9 +67,31 @@ public class FragmentWebView extends FragmentEx {
});
Bundle args = getArguments();
- url = (args == null ? null : args.getString("link"));
- webview.loadUrl(url);
- setSubtitle(url);
+ if (args.containsKey("url")) {
+ String url = args.getString("url");
+ webview.loadUrl(url);
+ setSubtitle(url);
+ } else if (args.containsKey("html")) {
+ String html = args.getString("html");
+ String from = args.getString("from");
+ webview.loadDataWithBaseURL("email://", html, "text/html", "UTF-8", null);
+ setSubtitle(from);
+ }
+
+ ((ActivityBase) getActivity()).addBackPressedListener(new ActivityBase.IBackPressedListener() {
+ @Override
+ public boolean onBackPressed() {
+ boolean can = webview.canGoBack();
+ if (can)
+ webview.goBack();
+
+ Bundle args = getArguments();
+ if (args.containsKey("from") && !webview.canGoBack())
+ setSubtitle(args.getString("from"));
+
+ return can;
+ }
+ });
return view;
}
diff --git a/app/src/main/res/menu/menu_view.xml b/app/src/main/res/menu/menu_view.xml
index d002ff60..df5b3681 100644
--- a/app/src/main/res/menu/menu_view.xml
+++ b/app/src/main/res/menu/menu_view.xml
@@ -26,6 +26,12 @@
android:title="@string/title_reply_all"
app:showAsAction="never" />
+
+
- Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-ar-rBH/strings.xml b/app/src/main/res/values-ar-rBH/strings.xml
index a6efddd3..c62a4039 100644
--- a/app/src/main/res/values-ar-rBH/strings.xml
+++ b/app/src/main/res/values-ar-rBH/strings.xml
@@ -134,6 +134,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-ar-rEG/strings.xml b/app/src/main/res/values-ar-rEG/strings.xml
index a6efddd3..c62a4039 100644
--- a/app/src/main/res/values-ar-rEG/strings.xml
+++ b/app/src/main/res/values-ar-rEG/strings.xml
@@ -134,6 +134,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-ar-rSA/strings.xml b/app/src/main/res/values-ar-rSA/strings.xml
index a6efddd3..c62a4039 100644
--- a/app/src/main/res/values-ar-rSA/strings.xml
+++ b/app/src/main/res/values-ar-rSA/strings.xml
@@ -134,6 +134,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-ar-rYE/strings.xml b/app/src/main/res/values-ar-rYE/strings.xml
index a6efddd3..c62a4039 100644
--- a/app/src/main/res/values-ar-rYE/strings.xml
+++ b/app/src/main/res/values-ar-rYE/strings.xml
@@ -134,6 +134,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index a6efddd3..c62a4039 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -134,6 +134,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml
index 5b63fc95..a92f7a9f 100644
--- a/app/src/main/res/values-ca/strings.xml
+++ b/app/src/main/res/values-ca/strings.xml
@@ -118,6 +118,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index e924d4a2..9d6a0c58 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -126,6 +126,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml
index 30e1a98c..4b217c60 100644
--- a/app/src/main/res/values-da/strings.xml
+++ b/app/src/main/res/values-da/strings.xml
@@ -118,6 +118,7 @@
Markér som ulæst
Videresend
Svar alle
+ Show original
Papirkurv
Spam
Flyt
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 16e8743d..779ffe0e 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -118,6 +118,7 @@
Als ungelesen markieren
Weiterleiten
Antworten an alle
+ Show original
Papierkorb
Spam
Verschieben
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index 5b63fc95..a92f7a9f 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -118,6 +118,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml
index 5b63fc95..a92f7a9f 100644
--- a/app/src/main/res/values-en/strings.xml
+++ b/app/src/main/res/values-en/strings.xml
@@ -118,6 +118,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml
index 5b63fc95..a92f7a9f 100644
--- a/app/src/main/res/values-es-rES/strings.xml
+++ b/app/src/main/res/values-es-rES/strings.xml
@@ -118,6 +118,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml
index 5b63fc95..a92f7a9f 100644
--- a/app/src/main/res/values-fi/strings.xml
+++ b/app/src/main/res/values-fi/strings.xml
@@ -118,6 +118,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 7ac25a95..8285ec36 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -118,6 +118,7 @@
Marquer comme non lu
Transférer
Répondre à tous
+ Show original
Corbeille
Spam
Déplacer
diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml
index aa72ad14..bd745818 100644
--- a/app/src/main/res/values-he/strings.xml
+++ b/app/src/main/res/values-he/strings.xml
@@ -126,6 +126,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml
index 5b63fc95..a92f7a9f 100644
--- a/app/src/main/res/values-hu/strings.xml
+++ b/app/src/main/res/values-hu/strings.xml
@@ -118,6 +118,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 7457a3bd..403ed048 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -118,6 +118,7 @@
Segna come non letto
Inoltra
Rispondi a tutti
+ Show original
Cestino
Posta indesiderata
Sposta
diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml
index aa72ad14..bd745818 100644
--- a/app/src/main/res/values-iw/strings.xml
+++ b/app/src/main/res/values-iw/strings.xml
@@ -126,6 +126,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index d94ccd08..91ed3062 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -114,6 +114,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
index d94ccd08..91ed3062 100644
--- a/app/src/main/res/values-ko/strings.xml
+++ b/app/src/main/res/values-ko/strings.xml
@@ -114,6 +114,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml
index 5b63fc95..a92f7a9f 100644
--- a/app/src/main/res/values-nb/strings.xml
+++ b/app/src/main/res/values-nb/strings.xml
@@ -118,6 +118,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index 5b63fc95..a92f7a9f 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -118,6 +118,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-no/strings.xml b/app/src/main/res/values-no/strings.xml
index 5b63fc95..a92f7a9f 100644
--- a/app/src/main/res/values-no/strings.xml
+++ b/app/src/main/res/values-no/strings.xml
@@ -118,6 +118,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 7429464f..315e5e78 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -126,6 +126,7 @@
Oznacz jako nieprzeczytane
Prześlij dalej
Odpowiedz wszystkim
+ Show original
Kosz
Spam
Przenieś
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 71c2aab4..9a43fc52 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -118,6 +118,7 @@
Mark unread
Encaminhar
Responder a todos
+ Show original
Lixeira
Spam
Mover
diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml
index 5b63fc95..a92f7a9f 100644
--- a/app/src/main/res/values-pt-rPT/strings.xml
+++ b/app/src/main/res/values-pt-rPT/strings.xml
@@ -118,6 +118,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml
index 92472bb7..982c4afa 100644
--- a/app/src/main/res/values-ro/strings.xml
+++ b/app/src/main/res/values-ro/strings.xml
@@ -122,6 +122,7 @@
Marcare ca necitit
Redirecționează
Răspunde tuturor
+ Show original
Gunoi
Spam
Mută
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index e924d4a2..9d6a0c58 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -126,6 +126,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml
index 4a26319f..36023cae 100644
--- a/app/src/main/res/values-sr/strings.xml
+++ b/app/src/main/res/values-sr/strings.xml
@@ -122,6 +122,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml
index 5b63fc95..a92f7a9f 100644
--- a/app/src/main/res/values-sv-rSE/strings.xml
+++ b/app/src/main/res/values-sv-rSE/strings.xml
@@ -118,6 +118,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index 060be353..9c6753d7 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -118,6 +118,7 @@
Okunmadı olarak işaretle
İlet
Tümünü yanıtla
+ Show original
Çöp Kutusu
Spam
Taşı
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index e924d4a2..9d6a0c58 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -126,6 +126,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml
index d94ccd08..91ed3062 100644
--- a/app/src/main/res/values-vi/strings.xml
+++ b/app/src/main/res/values-vi/strings.xml
@@ -114,6 +114,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 4d836a0b..f383a7b7 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -114,6 +114,7 @@
标记为未读
转发
回复全部
+ Show original
回收站
垃圾邮件
移动
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index d94ccd08..91ed3062 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -114,6 +114,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam
Move
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 1c8f2f1d..f7698f91 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -139,6 +139,7 @@
Mark unread
Forward
Reply to all
+ Show original
Trash
Spam