From 3d23ff094dbcde5d67bb1398ced23abfd1ca5404 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 23 Jan 2021 15:08:22 +0100 Subject: [PATCH] Force dark for WebView if possible --- app/build.gradle | 5 +++++ app/src/main/java/eu/faircode/email/AdapterMessage.java | 5 ++++- app/src/main/java/eu/faircode/email/WebViewEx.java | 9 +++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 331658af7f..d652d5328a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -239,6 +239,7 @@ dependencies { def appcompat_version = "1.3.0-beta01" def activity_version = "1.2.0-rc01" def fragment_version = "1.3.0-rc01" + def webkit_version = "1.4.0" def recyclerview_version = "1.2.0-beta01" def coordinatorlayout_version = "1.1.0" def constraintlayout_version = "2.0.2" @@ -288,6 +289,10 @@ dependencies { implementation "androidx.activity:activity:$activity_version" implementation "androidx.fragment:fragment:$fragment_version" + // https://developer.android.com/jetpack/androidx/releases/webkit + // https://mvnrepository.com/artifact/androidx.webkit/webkit + implementation "androidx.webkit:webkit:$webkit_version" + // https://mvnrepository.com/artifact/androidx.viewpager2/viewpager2 //implementation "androidx.viewpager2:viewpager2:1.1.0-alpha01" diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 5c222b5bdd..ba72b395eb 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -140,6 +140,7 @@ import androidx.recyclerview.widget.DiffUtil; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.StaggeredGridLayoutManager; +import androidx.webkit.WebViewFeature; import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.snackbar.Snackbar; @@ -3740,7 +3741,9 @@ public class AdapterMessage extends RecyclerView.Adapter= Build.VERSION_CODES.O) settings.setSafeBrowsingEnabled(safe_browsing); + + if (WebViewFeature.isFeatureSupported(WebViewFeature.FORCE_DARK)) + WebSettingsCompat.setForceDark(settings, + Helper.isDarkTheme(context) ? FORCE_DARK_ON : FORCE_DARK_OFF); } void init(int height, float size, Pair position, IWebView intf) {