From c879684e78704878685b43e621d26ad6827dad0e Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 11 Aug 2020 15:04:31 +0200 Subject: [PATCH] Fixed web view scaling --- app/src/main/java/eu/faircode/email/HtmlHelper.java | 12 +++++++++--- app/src/main/java/eu/faircode/email/WebViewEx.java | 4 ++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/HtmlHelper.java b/app/src/main/java/eu/faircode/email/HtmlHelper.java index 428b80024d..69da7713b2 100644 --- a/app/src/main/java/eu/faircode/email/HtmlHelper.java +++ b/app/src/main/java/eu/faircode/email/HtmlHelper.java @@ -1531,11 +1531,17 @@ public class HtmlHelper { static void setViewport(Document document) { // https://developer.mozilla.org/en-US/docs/Mozilla/Mobile/Viewport_meta_tag Elements meta = document.head().select("meta").select("[name=viewport]"); - if (meta.size() > 0) { + if (meta.size() == 1) { + String content = meta.attr("content") + .toLowerCase() + .replace(" ", "") + .replace("user-scalable=no", "user-scalable=yes"); + meta.attr("content", content); + } else { meta.remove(); - document.head().prependChild(document.createElement("meta") + document.head().prependElement("meta") .attr("name", "viewport") - .attr("content", "width=device-width, initial-scale=1.0")); + .attr("content", "width=device-width, initial-scale=1.0"); } Log.d(document.head().html()); diff --git a/app/src/main/java/eu/faircode/email/WebViewEx.java b/app/src/main/java/eu/faircode/email/WebViewEx.java index 2a5767ea8e..cf5e5fe30f 100644 --- a/app/src/main/java/eu/faircode/email/WebViewEx.java +++ b/app/src/main/java/eu/faircode/email/WebViewEx.java @@ -49,7 +49,7 @@ public class WebViewEx extends WebView implements DownloadListener, View.OnLongC WebSettings settings = getSettings(); settings.setUseWideViewPort(true); - settings.setLoadWithOverviewMode(true); + settings.setLoadWithOverviewMode(false); settings.setBuiltInZoomControls(true); settings.setDisplayZoomControls(false); @@ -75,7 +75,7 @@ public class WebViewEx extends WebView implements DownloadListener, View.OnLongC this.height = (height == 0 ? getMinimumHeight() : height); - setInitialScale(size == 0 ? 1 : Math.round(size * 100)); + setInitialScale(size == 0 ? 0 : Math.round(size * 100)); if (position != null) { setScrollX(position.first);