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)