diff --git a/android/app/src/main/kotlin/es/freetimelab/pluriwave/AlarmScheduler.kt b/android/app/src/main/kotlin/es/freetimelab/pluriwave/AlarmScheduler.kt index ba6f513..699396b 100644 --- a/android/app/src/main/kotlin/es/freetimelab/pluriwave/AlarmScheduler.kt +++ b/android/app/src/main/kotlin/es/freetimelab/pluriwave/AlarmScheduler.kt @@ -741,7 +741,10 @@ class AlarmScheduler(private val context: Context) { appContext, id, PendingIntent.FLAG_UPDATE_CURRENT - ) + ) ?: run { + Log.w(tag, "alarm.autoSilence arm failed: pendingMissedIntent returned null id=$id") + return + } try { alarmManager.setExactAndAllowWhileIdle( AlarmManager.RTC_WAKEUP, diff --git a/android/app/src/main/kotlin/es/freetimelab/pluriwave/PluriWaveAlarmReceiver.kt b/android/app/src/main/kotlin/es/freetimelab/pluriwave/PluriWaveAlarmReceiver.kt index ac6400d..c5f8105 100644 --- a/android/app/src/main/kotlin/es/freetimelab/pluriwave/PluriWaveAlarmReceiver.kt +++ b/android/app/src/main/kotlin/es/freetimelab/pluriwave/PluriWaveAlarmReceiver.kt @@ -286,7 +286,7 @@ class PluriWaveAlarmReceiver : BroadcastReceiver() { private fun requestCode(id: String, slot: Int): Int = 47 * id.hashCode() + slot /** Shared PendingIntent factory for the MISSED transition alarm (Decision 3). */ - fun pendingMissedIntent(context: Context, alarmId: String, flags: Int): PendingIntent = + fun pendingMissedIntent(context: Context, alarmId: String, flags: Int): PendingIntent? = PendingIntent.getBroadcast( context, requestCode(alarmId, 4),