diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e91f62f9..04e87a2f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -124,6 +124,10 @@ + + + + diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/clock/extensions/Context.kt index 983ef28a..a7eaef78 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/extensions/Context.kt @@ -27,17 +27,18 @@ import com.simplemobiletools.clock.models.Alarm import com.simplemobiletools.clock.models.MyTimeZone import com.simplemobiletools.clock.models.Timer import com.simplemobiletools.clock.models.TimerState -import com.simplemobiletools.clock.receivers.AlarmReceiver -import com.simplemobiletools.clock.receivers.HideAlarmReceiver -import com.simplemobiletools.clock.receivers.HideTimerReceiver +import com.simplemobiletools.clock.receivers.* import com.simplemobiletools.clock.services.SnoozeService import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.* import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import java.text.SimpleDateFormat -import java.util.* +import java.util.Calendar +import java.util.Date +import java.util.TimeZone import kotlin.math.pow +import kotlin.time.Duration.Companion.minutes val Context.config: Config get() = Config.newInstance(applicationContext) @@ -147,11 +148,26 @@ fun Context.setupAlarmClock(alarm: Alarm, triggerInSeconds: Int) { val targetMS = System.currentTimeMillis() + triggerInSeconds * 1000 try { AlarmManagerCompat.setAlarmClock(alarmManager, targetMS, getOpenAlarmTabIntent(), getAlarmIntent(alarm)) + + // show a notification to allow dismissing the alarm 10 minutes before it actually triggers + val dismissalTriggerTime = if (targetMS - System.currentTimeMillis() < 10.minutes.inWholeMilliseconds) { + System.currentTimeMillis() + 500 + } else { + targetMS - 10.minutes.inWholeMilliseconds + } + AlarmManagerCompat.setExactAndAllowWhileIdle(alarmManager, 0, dismissalTriggerTime, getEarlyAlarmDismissalIntent(alarm)) } catch (e: Exception) { showErrorToast(e) } } +fun Context.getEarlyAlarmDismissalIntent(alarm: Alarm): PendingIntent { + val intent = Intent(this, EarlyAlarmDismissalReceiver::class.java).apply { + putExtra(ALARM_ID, alarm.id) + } + return PendingIntent.getBroadcast(this, EARLY_ALARM_DISMISSAL_INTENT_ID, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) +} + fun Context.getOpenAlarmTabIntent(): PendingIntent { val intent = getLaunchIntent() ?: Intent(this, SplashActivity::class.java) intent.putExtra(OPEN_TAB, TAB_ALARM) @@ -427,6 +443,14 @@ fun Context.getHideAlarmPendingIntent(alarm: Alarm, channelId: String): PendingI return PendingIntent.getBroadcast(this, alarm.id, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) } +fun Context.getDismissAlarmPendingIntent(alarmId: Int, notificationId: Int): PendingIntent { + val intent = Intent(this, DismissAlarmReceiver::class.java).apply { + putExtra(ALARM_ID, alarmId) + putExtra(NOTIFICATION_ID, notificationId) + } + return PendingIntent.getBroadcast(this, alarmId, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) +} + fun Context.getAlarmNotification(pendingIntent: PendingIntent, alarm: Alarm): Notification { val soundUri = alarm.soundUri if (soundUri != SILENT) { diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/clock/helpers/Constants.kt index c9894afe..904ebe0d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/helpers/Constants.kt @@ -26,20 +26,24 @@ const val WAS_INITIAL_WIDGET_SET_UP = "was_initial_widget_set_up" const val TABS_COUNT = 4 const val EDITED_TIME_ZONE_SEPARATOR = ":" const val ALARM_ID = "alarm_id" +const val NOTIFICATION_ID = "notification_id" const val DEFAULT_ALARM_MINUTES = 480 const val DEFAULT_MAX_ALARM_REMINDER_SECS = 300 const val DEFAULT_MAX_TIMER_REMINDER_SECS = 60 const val SIMPLE_PHONE = "Simple_Phone" const val ALARM_NOTIFICATION_CHANNEL_ID = "Alarm_Channel" +const val EARLY_ALARM_DISMISSAL_CHANNEL_ID = "Early Alarm Dismissal" +const val OPEN_STOPWATCH_TAB_INTENT_ID = 9993 const val PICK_AUDIO_FILE_INTENT_ID = 9994 const val REMINDER_ACTIVITY_INTENT_ID = 9995 const val OPEN_ALARMS_TAB_INTENT_ID = 9996 -const val OPEN_STOPWATCH_TAB_INTENT_ID = 9993 -const val OPEN_APP_INTENT_ID = 9998 +const val OPEN_APP_INTENT_ID = 9997 const val ALARM_NOTIF_ID = 9998 const val TIMER_RUNNING_NOTIF_ID = 10000 const val STOPWATCH_RUNNING_NOTIF_ID = 10001 +const val EARLY_ALARM_DISMISSAL_INTENT_ID = 10002 +const val EARLY_ALARM_NOTIF_ID = 10003 const val OPEN_TAB = "open_tab" const val TAB_CLOCK = 0 diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/models/Alarm.kt b/app/src/main/kotlin/com/simplemobiletools/clock/models/Alarm.kt index b9b4ada5..37092f77 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/models/Alarm.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/models/Alarm.kt @@ -1,4 +1,12 @@ package com.simplemobiletools.clock.models -data class Alarm(var id: Int, var timeInMinutes: Int, var days: Int, var isEnabled: Boolean, var vibrate: Boolean, var soundTitle: String, - var soundUri: String, var label: String) +data class Alarm( + var id: Int, + var timeInMinutes: Int, + var days: Int, + var isEnabled: Boolean, + var vibrate: Boolean, + var soundTitle: String, + var soundUri: String, + var label: String +) diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/receivers/AlarmReceiver.kt b/app/src/main/kotlin/com/simplemobiletools/clock/receivers/AlarmReceiver.kt index a1e7b7cc..20c0c1b5 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/receivers/AlarmReceiver.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/receivers/AlarmReceiver.kt @@ -16,6 +16,7 @@ import com.simplemobiletools.clock.extensions.* import com.simplemobiletools.clock.helpers.ALARM_ID import com.simplemobiletools.clock.helpers.ALARM_NOTIFICATION_CHANNEL_ID import com.simplemobiletools.clock.helpers.ALARM_NOTIF_ID +import com.simplemobiletools.clock.helpers.EARLY_ALARM_NOTIF_ID import com.simplemobiletools.commons.extensions.showErrorToast import com.simplemobiletools.commons.helpers.isOreoPlus @@ -25,6 +26,8 @@ class AlarmReceiver : BroadcastReceiver() { val id = intent.getIntExtra(ALARM_ID, -1) val alarm = context.dbHelper.getAlarmWithId(id) ?: return + context.hideNotification(EARLY_ALARM_NOTIF_ID) // hide early dismissal notification if not already dismissed + if (context.isScreenOn()) { context.showAlarmNotification(alarm) Handler().postDelayed({ diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/receivers/DismissAlarmReceiver.kt b/app/src/main/kotlin/com/simplemobiletools/clock/receivers/DismissAlarmReceiver.kt new file mode 100644 index 00000000..36492a54 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/clock/receivers/DismissAlarmReceiver.kt @@ -0,0 +1,51 @@ +package com.simplemobiletools.clock.receivers + +import android.content.BroadcastReceiver +import android.content.Context +import android.content.Intent +import com.simplemobiletools.clock.extensions.* +import com.simplemobiletools.clock.helpers.ALARM_ID +import com.simplemobiletools.clock.helpers.NOTIFICATION_ID +import com.simplemobiletools.clock.models.Alarm +import com.simplemobiletools.commons.extensions.removeBit +import com.simplemobiletools.commons.helpers.ensureBackgroundThread +import java.util.Calendar +import kotlin.math.pow + +class DismissAlarmReceiver : BroadcastReceiver() { + override fun onReceive(context: Context, intent: Intent) { + val alarmId = intent.getIntExtra(ALARM_ID, -1) + val notificationId = intent.getIntExtra(NOTIFICATION_ID, -1) + if (alarmId == -1) { + return + } + + context.hideNotification(notificationId) + + ensureBackgroundThread { + context.dbHelper.getAlarmWithId(alarmId)?.let { alarm -> + context.cancelAlarmClock(alarm) + scheduleNextAlarm(alarm, context) + if (alarm.days < 0) { + context.dbHelper.updateAlarmEnabledState(alarm.id, false) + context.updateWidgets() + } + } + } + } + + private fun scheduleNextAlarm(alarm: Alarm, context: Context) { + val oldBitmask = alarm.days + alarm.days = removeTodayFromBitmask(oldBitmask) + context.scheduleNextAlarm(alarm, false) + alarm.days = oldBitmask + } + + private fun removeTodayFromBitmask(bitmask: Int): Int { + val calendar = Calendar.getInstance() + calendar.firstDayOfWeek = Calendar.MONDAY + val dayOfWeek = (calendar.get(Calendar.DAY_OF_WEEK) + 5) % 7 + val todayBitmask = 2.0.pow(dayOfWeek).toInt() + return bitmask.removeBit(todayBitmask) + } +} diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/receivers/EarlyAlarmDismissalReceiver.kt b/app/src/main/kotlin/com/simplemobiletools/clock/receivers/EarlyAlarmDismissalReceiver.kt new file mode 100644 index 00000000..b5fd5348 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/clock/receivers/EarlyAlarmDismissalReceiver.kt @@ -0,0 +1,58 @@ +package com.simplemobiletools.clock.receivers + +import android.app.Notification +import android.app.NotificationChannel +import android.app.NotificationManager +import android.content.BroadcastReceiver +import android.content.Context +import android.content.Intent +import android.text.format.DateFormat +import androidx.core.app.NotificationCompat +import com.simplemobiletools.clock.R +import com.simplemobiletools.clock.extensions.getDismissAlarmPendingIntent +import com.simplemobiletools.clock.extensions.getNextAlarm +import com.simplemobiletools.clock.extensions.getOpenAlarmTabIntent +import com.simplemobiletools.clock.helpers.* +import com.simplemobiletools.commons.helpers.isOreoPlus +import java.text.SimpleDateFormat +import java.util.* + +class EarlyAlarmDismissalReceiver : BroadcastReceiver() { + + override fun onReceive(context: Context, intent: Intent) { + val alarmId = intent.getIntExtra(ALARM_ID, -1) + if (alarmId == -1) { + return + } + + triggerEarlyDismissalNotification(context, alarmId) + } + + private fun triggerEarlyDismissalNotification(context: Context, alarmId: Int) { + val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager + if (isOreoPlus()) { + NotificationChannel(EARLY_ALARM_DISMISSAL_CHANNEL_ID, context.getString(R.string.early_alarm_dismissal), NotificationManager.IMPORTANCE_DEFAULT).apply { + setBypassDnd(true) + setSound(null, null) + notificationManager.createNotificationChannel(this) + } + } + + val dismissIntent = context.getDismissAlarmPendingIntent(alarmId, EARLY_ALARM_NOTIF_ID) + val contentIntent = context.getOpenAlarmTabIntent() + val notification = NotificationCompat.Builder(context) + .setContentTitle(context.getString(R.string.upcoming_alarm)) + .setContentText(context.getNextAlarm()) + .setSmallIcon(R.drawable.ic_alarm_vector) + .setPriority(Notification.PRIORITY_LOW) + .addAction(0, context.getString(R.string.dismiss), dismissIntent) + .setContentIntent(contentIntent) + .setSound(null) + .setAutoCancel(true) + .setChannelId(EARLY_ALARM_DISMISSAL_CHANNEL_ID) + .build() + + notificationManager.notify(EARLY_ALARM_NOTIF_ID, notification) + } + +} diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 8a160b4b..b8fe62cf 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -29,6 +29,8 @@ لم يتم العثور على موقتات Add timer التنبيه القادم + Early alarm dismissal + أجهزة ضبط الوقت قيد التشغيل عداد الوقت لـ %s قيد التشغيل @@ -55,4 +57,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml index b182d782..7e5956d4 100644 --- a/app/src/main/res/values-az/strings.xml +++ b/app/src/main/res/values-az/strings.xml @@ -28,6 +28,7 @@ No timers found Add timer Upcoming alarm + Early alarm dismissal Timers are running diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml index 71132cce..e5e43972 100644 --- a/app/src/main/res/values-be/strings.xml +++ b/app/src/main/res/values-be/strings.xml @@ -29,6 +29,8 @@ Таймеры не знойдзены Add timer Маючы адбыцца будзільнік + Early alarm dismissal + Таймеры запушчаны Таймер для %s запушчаны @@ -53,4 +55,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index 6fecafb9..34c33d1b 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -29,6 +29,7 @@ No timers found Add timer Upcoming alarm + Early alarm dismissal Таймерите са включени Таймерът за %s е включен diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 0feb9c29..bbfd33b8 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -29,6 +29,8 @@ No s\'ha trobat cap temporitzador Add timer Pròxima alarma + Early alarm dismissal + Els temporitzadors estan en marxa El temporitzador per a %s està en marxa @@ -51,4 +53,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 9c701cb4..bc2c4dc9 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -29,6 +29,8 @@ Nenalezeny žádné časovače Přidat časovač Nadcházející budík + Early alarm dismissal + Časovače běží Časovač pro %s běží @@ -52,4 +54,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-cy/strings.xml b/app/src/main/res/values-cy/strings.xml index 1f213628..fecbd339 100644 --- a/app/src/main/res/values-cy/strings.xml +++ b/app/src/main/res/values-cy/strings.xml @@ -29,6 +29,8 @@ No timers found Add timer Upcoming alarm + Early alarm dismissal + Timers are running Timer for %s is running diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 4fd9d7ba..66603ad4 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -28,6 +28,7 @@ No timers found Add timer Upcoming alarm + Early alarm dismissal Timers are running diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 3a564247..378a951d 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -29,6 +29,8 @@ Keine Timer gefunden Timer hinzufügen Bevorstehender Alarm + Early alarm dismissal + Die Timer laufen Timer für %s läuft @@ -51,4 +53,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index ddb5113c..d70af139 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -29,6 +29,8 @@ Δεν βρέθηκαν χρονόμετρα Προσθήκη χρονόμετρου Επερχόμενη αφύπνιση + Early alarm dismissal + Τα χρονόμετρα σε λειτουργία Το χρονόμετρο για %s σε λειτουργία diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index 2dc612d7..9b635250 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -29,6 +29,7 @@ No timers found Add timer Upcoming alarm + Early alarm dismissal Timers are running diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 48a18951..0e803863 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -29,6 +29,8 @@ No se encontraron temporizadores Add timer Próxima alarma + Early alarm dismissal + Los temporizadores están en marcha El temporizador para %s está en marcha @@ -52,4 +54,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml index ad0152af..f0aa24b9 100644 --- a/app/src/main/res/values-et/strings.xml +++ b/app/src/main/res/values-et/strings.xml @@ -29,6 +29,8 @@ Ei leitud taimereid Lisage taimer Järgmine äratus + Early alarm dismissal + Taimerid töötavad %s taimer töötab @@ -51,4 +53,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index ece09303..0957cb2a 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -28,6 +28,7 @@ No timers found Add timer Upcoming alarm + Early alarm dismissal Timers are running diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 93216b8f..9827677a 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -29,6 +29,8 @@ Ajastuksia ei löytynyt Lisää ajastus Ajastettu herätys + Early alarm dismissal + Ajastuksia on käynnissä %s ajastus on käynnissä @@ -51,4 +53,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 7d150ae7..f8e534b9 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -29,6 +29,8 @@ Aucune minuterie trouvée Ajouter une minuterie Alarme à venir + Early alarm dismissal + Les minuteries sont en marche La minuterie de %s est en marche @@ -52,4 +54,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 0522b2bc..5c1b7992 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -29,6 +29,8 @@ Non se atoparon temporizadores Engadir temporizador Próxima alarma + Early alarm dismissal + Os temporizadores atopanse traballando O temporizador para %s atopase traballando @@ -51,4 +53,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 30c2cbfb..3741c8af 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -29,6 +29,8 @@ Nema brojača vremena Dodaj brojač vremena Nadolazeći alarm + Early alarm dismissal + Brojači su pokrenuti Brojač za %s je pokrenut @@ -52,4 +54,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 25392f97..5b0a4ca3 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -29,6 +29,8 @@ Nincsenek időzitők Időzítő hozzáadása Közelgő riasztás + Early alarm dismissal + Az időzítő megy A(z) %s időzítő fut @@ -51,4 +53,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index d9e3b213..6c23fa66 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -29,6 +29,8 @@ Tidak ada pewaktu yang ditemukan Tambahkan pewaktu Alarm berikut + Early alarm dismissal + Pewaktu sedang berjalan Pewaktu untuk %s sedang berjalan @@ -50,4 +52,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index e92c354d..2faf23f6 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -29,6 +29,8 @@ Nessun contaminuti trovato Aggiungi contaminuti Allarme imminente + Early alarm dismissal + I contaminuti sono in funzione Il contaminuti per %s è in funzione @@ -52,4 +54,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index b3dde4cb..0cb0fc2b 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -29,6 +29,8 @@ No timers found Add timer Upcoming alarm + Early alarm dismissal + ‏טיימר פועל טיימר עבור %s פועל diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index f8b4eea8..e27614c3 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -29,6 +29,8 @@ タイマーが見つかりません タイマーを追加 今後のアラーム + Early alarm dismissal + タイマーが作動中 タイマー %s が作動中 @@ -50,4 +52,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 0f2fb5b3..1508dd28 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -28,6 +28,7 @@ No timers found Add timer Upcoming alarm + Early alarm dismissal Timers are running diff --git a/app/src/main/res/values-ml/strings.xml b/app/src/main/res/values-ml/strings.xml index ba90bbdf..7344244d 100644 --- a/app/src/main/res/values-ml/strings.xml +++ b/app/src/main/res/values-ml/strings.xml @@ -29,6 +29,8 @@ ടൈമറുകളൊന്നും കണ്ടെത്തിയില്ല ടൈമർ ചേർക്കുക Upcoming alarm + Early alarm dismissal + ടൈമറുകൾ പ്രവർത്തിക്കുന്നു %s-നുള്ള ടൈമർ പ്രവർത്തിക്കുന്നു @@ -51,4 +53,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index 34bf849c..84a219d8 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -29,6 +29,8 @@ Ingen timere funnet Add timer Kommende alarm + Early alarm dismissal + Timere er i gang Timer for %s er i gang @@ -51,4 +53,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 8e9b3bc9..8b920293 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -29,6 +29,8 @@ Geen timers Timer toevoegen Volgende wekker + Early alarm dismissal + Timers lopen Timer voor %s loopt @@ -51,4 +53,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-pa-rPK/strings.xml b/app/src/main/res/values-pa-rPK/strings.xml index 30d0c332..6ac3dfd1 100644 --- a/app/src/main/res/values-pa-rPK/strings.xml +++ b/app/src/main/res/values-pa-rPK/strings.xml @@ -32,6 +32,7 @@ Upcoming alarm سماں والے چالو کیتے جا رہے اے ؜‫%s‬‬ ؜لئی سماں والا چالو کیتا جا رہا اے + Early alarm dismissal ؜‫%d‬؜ سماں والا چالو کیتا جا رہا اے ؜‫%d‬؜ سماں والے چالو کیتے جا رہے اے diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 4e361945..3c5cc87a 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -29,6 +29,8 @@ Nie znaleziono minutników Dodaj minutnik Nadchodzący alarm + Early alarm dismissal + Minutniki są uruchomione Minutnik dla %s jest uruchomiony @@ -53,4 +55,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 25f69672..8c749d0f 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -29,6 +29,8 @@ Nenhum temporizador encontrado Adicionar temporizador Próximo alarme + Early alarm dismissal + Temporizadores em execução O temporizador para %s está em execução diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index cb42aa34..17ea3605 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -29,6 +29,8 @@ Nenhum temporizador encontrado Adicionar temporizador Próximo alarme + Early alarm dismissal + Temporizadores em curso Temporizador para %s está em curso @@ -52,4 +54,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 4fd36b8c..80d9109c 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -29,6 +29,8 @@ Nu au fost găsite temporizatoare Adaugă temporizator Upcoming alarm + Early alarm dismissal + Temporizatoarele sunt pornite Temporizatorul de %s este pornit diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index f99f6a7a..4995907e 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -29,6 +29,8 @@ Таймеры отсутствуют Добавить таймер Предстоящий будильник + Early alarm dismissal + Таймеры запущены Таймер для %s запущен @@ -53,4 +55,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 83276e54..99f9395f 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -28,6 +28,7 @@ Nenašli sa žiadne časovače Pridať časovač Nadchádzajúci budík + Predčasné zrušenie budíka Sú spustené časovače diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index d3c7dc42..c1456749 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -29,6 +29,8 @@ Ni časovnikov Dodajte časovnik Upcoming alarm + Early alarm dismissal + Tečejo časovniki Časovnik za %s teče diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index 7f4cccfa..6738397e 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -32,6 +32,7 @@ Тајмери раде Тајмер за %s је покренут Нови тајмер + Early alarm dismissal %d тајмер ради %d тајмери раде diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 0309448a..71656dbf 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -29,6 +29,8 @@ Inga timers hittades Lägg till timer Kommande alarm + Early alarm dismissal + Timers är igång Timer för %s är igång @@ -51,4 +53,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index 2dc612d7..9b635250 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -29,6 +29,7 @@ No timers found Add timer Upcoming alarm + Early alarm dismissal Timers are running diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index dad28a57..c7f298bf 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -29,6 +29,8 @@ Zamanlayıcı bulunamadı Zamanlayıcı ekle Yaklaşan alarm + Early alarm dismissal + Zamanlayıcılar çalışıyor %s için zamanlayıcı çalışıyor @@ -51,4 +53,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 22d1a197..96248bb7 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -29,6 +29,8 @@ Таймерів не знайдено Add timer Майбутній будильник + Early alarm dismissal + Таймери працюють Таймер для %s працює @@ -53,4 +55,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 8efb2ff3..ff65a5e8 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -29,6 +29,8 @@ 未找到计时器 添加计时器 即将到来的闹铃 + Early alarm dismissal + 计时器正在运行 %s 的计时器正在运行 @@ -50,4 +52,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 46fc8fd8..fd136db8 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -28,6 +28,7 @@ No timers found Add timer Upcoming alarm + Early alarm dismissal Timers are running diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f20088f8..ca82614f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -29,6 +29,7 @@ No timers found Add timer Upcoming alarm + Early alarm dismissal Timers are running