From 53d4e8b1a6c3388d9b1b6ed7f47a34c7f6ff7cab Mon Sep 17 00:00:00 2001 From: Marcel Bokhorst Date: Sun, 3 Jul 2022 06:40:37 +0200 Subject: [PATCH 1/5] Updated FAQ --- FAQ.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FAQ.md b/FAQ.md index 4d2c8b9266..d36e356970 100644 --- a/FAQ.md +++ b/FAQ.md @@ -2781,7 +2781,7 @@ To set the poll interval: (adb shell) adb shell am start-foreground-service -a eu.faircode.email.INTERVAL --ei minutes nnn ``` -Where *nnn* is one of 0, 15, 30, 60, 120, 240, 480, 1440. A value of 0 means push messages. +Where *nnn* is one of 0, 5, 15, 30, 60, 120, 240, 480, 1440. A value of 0 means push messages. You can automatically send commands with for example [Tasker](https://tasker.joaoapps.com/userguide/en/intents.html): From cdb3a782f0a94eff3eeec8cdb8e94713f7b0939e Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 3 Jul 2022 07:37:06 +0200 Subject: [PATCH 2/5] Sort on sender: show email/name --- app/src/main/java/eu/faircode/email/AdapterMessage.java | 4 ++-- app/src/main/java/eu/faircode/email/MessageHelper.java | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index ea22490252..4c214afc94 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -7040,7 +7040,7 @@ public class AdapterMessage extends RecyclerView.Adapter"); + else if (format == AddressFormat.EMAIL_NAME && !TextUtils.isEmpty(email)) + formatted.add("<" + email + "> " + personal); else formatted.add(personal); } From 74f594c9de312d0a978773a0eecdb55fb4382fef Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 3 Jul 2022 08:56:06 +0200 Subject: [PATCH 3/5] WebView darkening requires Android 10 or later now --- app/build.gradle | 2 +- .../java/eu/faircode/email/ActivityAMP.java | 3 +- .../eu/faircode/email/AdapterMessage.java | 19 +++++++++++ .../email/FragmentDialogOpenFull.java | 3 +- .../java/eu/faircode/email/WebViewEx.java | 8 +++-- app/src/main/res/layout/dialog_dark.xml | 32 +++++++++++++++++++ app/src/main/res/values/strings.xml | 2 ++ 7 files changed, 64 insertions(+), 5 deletions(-) create mode 100644 app/src/main/res/layout/dialog_dark.xml diff --git a/app/build.gradle b/app/build.gradle index c61d801d16..fe8b4eb2e0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -341,7 +341,7 @@ dependencies { def activity_version = "1.5.0" // 1.6.0-alpha03 def fragment_version = "1.5.0" def windows_version = "1.0.0" // 1.1.0-alpha01 - def webkit_version = "1.5.0-alpha01" + def webkit_version = "1.5.0-beta01" def recyclerview_version = "1.2.1" // 1.3.0-alpha02 def coordinatorlayout_version = "1.2.0" def constraintlayout_version = "2.1.4" // 2.2.0-alpha01 diff --git a/app/src/main/java/eu/faircode/email/ActivityAMP.java b/app/src/main/java/eu/faircode/email/ActivityAMP.java index bbe0c30aee..9f76007bf8 100644 --- a/app/src/main/java/eu/faircode/email/ActivityAMP.java +++ b/app/src/main/java/eu/faircode/email/ActivityAMP.java @@ -24,6 +24,7 @@ import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.net.Uri; +import android.os.Build; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; @@ -161,7 +162,7 @@ public class ActivityAMP extends ActivityBase { WebSettings settings = wvAmp.getSettings(); boolean dark = (Helper.isDarkTheme(this) && !force_light); boolean canDarken = WebViewEx.isFeatureSupported(this, WebViewFeature.ALGORITHMIC_DARKENING); - if (canDarken) + if (canDarken && Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) WebSettingsCompat.setAlgorithmicDarkeningAllowed(settings, dark); } diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 4c214afc94..1a7f2dddc7 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -6248,6 +6248,25 @@ public class AdapterMessage extends RecyclerView.Adapter= Build.VERSION_CODES.Q) WebSettingsCompat.setAlgorithmicDarkeningAllowed(settings, dark); settings.setLoadsImagesAutomatically(true); diff --git a/app/src/main/java/eu/faircode/email/WebViewEx.java b/app/src/main/java/eu/faircode/email/WebViewEx.java index 79833096cb..633f25726e 100644 --- a/app/src/main/java/eu/faircode/email/WebViewEx.java +++ b/app/src/main/java/eu/faircode/email/WebViewEx.java @@ -121,7 +121,7 @@ public class WebViewEx extends WebView implements DownloadListener, View.OnLongC // https://developer.android.com/reference/android/webkit/WebSettings#setAlgorithmicDarkeningAllowed(boolean) // https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme boolean canDarken = WebViewEx.isFeatureSupported(context, WebViewFeature.ALGORITHMIC_DARKENING); - if (canDarken) + if (canDarken && Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) WebSettingsCompat.setAlgorithmicDarkeningAllowed(settings, dark && !force_light); setBackgroundColor(canDarken && dark && !force_light ? Color.TRANSPARENT : Color.WHITE); @@ -368,7 +368,10 @@ public class WebViewEx extends WebView implements DownloadListener, View.OnLongC } public static boolean isFeatureSupported(Context context, String feature) { - if (WebViewFeature.ALGORITHMIC_DARKENING.equals(feature)) + if (WebViewFeature.ALGORITHMIC_DARKENING.equals(feature)) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) + return false; + try { PackageInfo pkg = WebViewCompat.getCurrentWebViewPackage(context); if (pkg != null && pkg.versionCode / 100000 < 5005) // Version 102.* @@ -376,6 +379,7 @@ public class WebViewEx extends WebView implements DownloadListener, View.OnLongC } catch (Throwable ex) { Log.e(ex); } + } try { return WebViewFeature.isFeatureSupported(feature); diff --git a/app/src/main/res/layout/dialog_dark.xml b/app/src/main/res/layout/dialog_dark.xml new file mode 100644 index 0000000000..0a733d61c4 --- /dev/null +++ b/app/src/main/res/layout/dialog_dark.xml @@ -0,0 +1,32 @@ + + + + + + + +