From 7e7cf9a3e95145d9c19f9026ee3cb7be492bee98 Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 19 Apr 2023 16:56:31 +0200 Subject: [PATCH] Turning the screen on does not work on Android 14 anymore --- app/src/main/java/eu/faircode/email/Core.java | 4 ++++ .../eu/faircode/email/FragmentOptionsNotifications.java | 6 ++++++ app/src/main/res/layout/fragment_options_notifications.xml | 6 ++++++ 3 files changed, 16 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index 5def9678bf..cbc7c51f60 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -5219,6 +5219,10 @@ class Core { boolean redacted = ((biometrics || !TextUtils.isEmpty(pin)) && !biometric_notify); if (redacted) notify_summary = true; + if (notify_screen_on && + !(Build.VERSION.SDK_INT <= Build.VERSION_CODES.TIRAMISU || + Helper.hasPermission(context, "android.permission.TURN_SCREEN_ON"))) + notify_screen_on = false; Log.i("Notify messages=" + messages.size() + " biometrics=" + biometrics + "/" + biometric_notify + diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java b/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java index 13d1425769..b705960fdc 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java @@ -126,6 +126,7 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared private Group grpChannel; private Group grpProperties; + private Group grpScreenOn; private Group grpBackground; private Group grpTiles; @@ -214,6 +215,7 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared grpChannel = view.findViewById(R.id.grpChannel); grpProperties = view.findViewById(R.id.grpProperties); + grpScreenOn = view.findViewById(R.id.grpScreenOn); grpBackground = view.findViewById(R.id.grpBackground); grpTiles = view.findViewById(R.id.grpTiles); @@ -499,6 +501,10 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared } }); + grpScreenOn.setVisibility( + Build.VERSION.SDK_INT <= Build.VERSION_CODES.TIRAMISU || + hasPermission("android.permission.TURN_SCREEN_ON") + ? View.VISIBLE : View.GONE); swNotifyScreenOn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { diff --git a/app/src/main/res/layout/fragment_options_notifications.xml b/app/src/main/res/layout/fragment_options_notifications.xml index bb95ae794c..901cae79f7 100644 --- a/app/src/main/res/layout/fragment_options_notifications.xml +++ b/app/src/main/res/layout/fragment_options_notifications.xml @@ -441,6 +441,12 @@ android:layout_width="0dp" android:layout_height="0dp" app:constraint_referenced_ids="swLight,btnSound" /> + +