diff --git a/app/build.gradle b/app/build.gradle
index 2a3308fa..a3485805 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -150,4 +150,8 @@ dependencies {
implementation 'io.noties.markwon:linkify:4.6.2'
implementation 'io.noties.markwon:ext-tables:4.6.2'
implementation 'io.noties.markwon:ext-strikethrough:4.6.2'
+
+ // Used by Markdown library, R8 complains if these are not here
+ implementation "pl.droidsonroids.gif:android-gif-drawable:1.2.29"
+ implementation "com.caverock:androidsvg:1.4"
}
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
index e9caf635..9b971de4 100644
--- a/app/proguard-rules.pro
+++ b/app/proguard-rules.pro
@@ -1 +1,12 @@
+# Keep readable stack traces
-dontobfuscate
+-keepattributes SourceFile,LineNumberTable
+
+# (From your case) ignore optional TLS providers pulled by OkHttp
+-dontwarn org.conscrypt.**
+-dontwarn org.bouncycastle.**
+-dontwarn org.openjsse.**
+
+# If you use Markwon GIF/SVG decoders:
+-keep class pl.droidsonroids.gif.** { *; }
+-keep class com.caverock.androidsvg.** { *; }
diff --git a/app/src/main/java/io/heckel/ntfy/ui/SettingsActivity.kt b/app/src/main/java/io/heckel/ntfy/ui/SettingsActivity.kt
index a498e12f..c0c401d6 100644
--- a/app/src/main/java/io/heckel/ntfy/ui/SettingsActivity.kt
+++ b/app/src/main/java/io/heckel/ntfy/ui/SettingsActivity.kt
@@ -552,7 +552,7 @@ class SettingsActivity : AppCompatActivity(), PreferenceFragmentCompat.OnPrefere
}
}
- // CanScheduleExactAlarms
+ // Update "Exact alarms" preference to match system setting
updateExactAlarmsPref()
// Version
@@ -698,7 +698,7 @@ class SettingsActivity : AppCompatActivity(), PreferenceFragmentCompat.OnPrefere
}
exactAlarmsPref?.summary = if (canScheduleExactAlarms) getString(R.string.settings_advanced_exact_alarms_true) else getString(R.string.settings_advanced_exact_alarms_false)
exactAlarmsPref?.onPreferenceClickListener = OnPreferenceClickListener {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU && !canScheduleExactAlarms) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
startActivity(Intent(ACTION_REQUEST_SCHEDULE_EXACT_ALARM))
}
true
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 9bd77c00..49f9082b 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -353,9 +353,9 @@
Use WebSockets to connect to the server. This is the recommended method, but may require additional config in your proxy.
JSON stream over HTTP
WebSockets
- Exact Alarms
- ntfy can schedule exact alarms (used to reconnect WebSockets in the background)
- ntfy CANNOT schedule exact alarms. Click to grant the permission now
+ Exact alarms
+ ntfy can schedule exact alarms. Exact alarms are required to reconnect WebSockets in the background. Click to revoke the permission.
+ ntfy cannot schedule exact alarms. Exact alarms are required to reconnect WebSockets in the background. Click to grant the permission.
About
Version
ntfy %1$s (%2$s)