mirror of
https://github.com/SimpleMobileTools/Simple-Clock.git
synced 2025-06-05 22:19:17 +02:00
Handle timer service notifications
This commit is contained in:
@ -12,10 +12,7 @@ import androidx.recyclerview.widget.RecyclerView
|
||||
import com.simplemobiletools.clock.R
|
||||
import com.simplemobiletools.clock.activities.SimpleActivity
|
||||
import com.simplemobiletools.clock.dialogs.MyTimePickerDialogDialog
|
||||
import com.simplemobiletools.clock.extensions.checkAlarmsWithDeletedSoundUri
|
||||
import com.simplemobiletools.clock.extensions.colorLeftDrawable
|
||||
import com.simplemobiletools.clock.extensions.config
|
||||
import com.simplemobiletools.clock.extensions.timerHelper
|
||||
import com.simplemobiletools.clock.extensions.*
|
||||
import com.simplemobiletools.clock.helpers.PICK_AUDIO_FILE_INTENT_ID
|
||||
import com.simplemobiletools.clock.models.Timer
|
||||
import com.simplemobiletools.clock.models.TimerState
|
||||
@ -116,11 +113,11 @@ class TimerAdapter(
|
||||
}
|
||||
|
||||
is TimerState.Paused -> {
|
||||
timer_time.text = timer.state.tick.div(1000F).roundToInt().getFormattedDuration()
|
||||
timer_time.text = timer.state.tick.getFormattedDuration()
|
||||
}
|
||||
|
||||
is TimerState.Running -> {
|
||||
timer_time.text = timer.state.tick.div(1000F).roundToInt().getFormattedDuration()
|
||||
timer_time.text = timer.state.tick.getFormattedDuration()
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -142,11 +139,12 @@ class TimerAdapter(
|
||||
|
||||
private fun updateTimer(timer: Timer, refresh: Boolean = true) {
|
||||
Log.w(TAG, "updateTimer: $timer")
|
||||
activity.timerHelper.insertOrUpdateTimer(timer)
|
||||
activity.timerHelper.insertOrUpdateTimer(timer){
|
||||
if (refresh) {
|
||||
onRefresh.invoke()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val TAG = "TimerAdapter"
|
||||
|
@ -1,8 +1,10 @@
|
||||
package com.simplemobiletools.clock.extensions
|
||||
|
||||
import android.text.format.DateFormat
|
||||
import com.simplemobiletools.commons.extensions.getFormattedDuration
|
||||
import java.util.*
|
||||
import java.util.concurrent.TimeUnit
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
fun Long.formatStopwatchTime(useLongerMSFormat: Boolean): String {
|
||||
val MSFormat = if (useLongerMSFormat) "%03d" else "%01d"
|
||||
@ -37,5 +39,9 @@ fun Long.timestampFormat(format: String = "dd. MM. yyyy"): String {
|
||||
return DateFormat.format(format, calendar).toString()
|
||||
}
|
||||
|
||||
fun Long.getFormattedDuration(forceShowHours: Boolean = false): String {
|
||||
return this.div(1000F).roundToInt().getFormattedDuration(forceShowHours)
|
||||
}
|
||||
|
||||
val Long.secondsToMillis get() = TimeUnit.SECONDS.toMillis(this)
|
||||
val Long.millisToSeconds get() = TimeUnit.MILLISECONDS.toSeconds(this)
|
||||
|
@ -100,17 +100,24 @@ class TimerFragment : Fragment() {
|
||||
|
||||
private fun updateViews(position: Int) {
|
||||
activity?.runOnUiThread {
|
||||
if (timerAdapter.itemCount > 0) {
|
||||
val timer = timerAdapter.getItemAt(position)
|
||||
updateViewStates(timer.state)
|
||||
view.timer_play_pause.beVisible()
|
||||
} else {
|
||||
view.timer_delete.beGone()
|
||||
view.timer_play_pause.beGone()
|
||||
view.timer_reset.beGone()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun refreshTimers(scrollToLast: Boolean = false) {
|
||||
private fun refreshTimers(scrollToLatest: Boolean = false) {
|
||||
activity?.timerHelper?.getTimers { timers ->
|
||||
Log.d(TAG, "refreshTimers: $timers")
|
||||
timerAdapter.submitList(timers) {
|
||||
if (scrollToLast) {
|
||||
view.timer_view_pager.currentItem = timers.lastIndex
|
||||
if (scrollToLatest) {
|
||||
view.timer_view_pager.currentItem = 0
|
||||
}
|
||||
updateViews(timer_view_pager.currentItem)
|
||||
}
|
||||
|
@ -43,14 +43,16 @@ class TimerHelper(val context: Context) {
|
||||
fun insertNewTimer(callback: () -> Unit = {}) {
|
||||
ensureBackgroundThread {
|
||||
timerDao.insertOrUpdateTimer(
|
||||
Timer(id = null,
|
||||
Timer(
|
||||
id = null,
|
||||
seconds = DEFAULT_TIME,
|
||||
TimerState.Idle,
|
||||
false,
|
||||
context.getDefaultAlarmSound(RingtoneManager.TYPE_ALARM).uri,
|
||||
context.getDefaultAlarmTitle(RingtoneManager.TYPE_ALARM),
|
||||
"",
|
||||
DEFAULT_MAX_TIMER_REMINDER_SECS.toString())
|
||||
System.currentTimeMillis(),
|
||||
)
|
||||
)
|
||||
|
||||
callback.invoke()
|
||||
|
@ -9,7 +9,7 @@ import com.simplemobiletools.clock.models.Timer
|
||||
@Dao
|
||||
interface TimerDao {
|
||||
|
||||
@Query("SELECT * FROM timers")
|
||||
@Query("SELECT * FROM timers ORDER BY createdAt DESC")
|
||||
fun getTimers(): List<Timer>
|
||||
|
||||
@Query("SELECT * FROM timers WHERE id=:id")
|
||||
|
@ -12,5 +12,5 @@ data class Timer(
|
||||
val soundUri: String,
|
||||
val soundTitle: String,
|
||||
val label: String,
|
||||
val maxReminderSecs: String,
|
||||
val createdAt: Long,
|
||||
)
|
||||
|
@ -12,11 +12,15 @@ import android.os.IBinder
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.core.app.NotificationCompat
|
||||
import com.simplemobiletools.clock.R
|
||||
import com.simplemobiletools.clock.extensions.config
|
||||
import com.simplemobiletools.clock.extensions.getFormattedDuration
|
||||
import com.simplemobiletools.clock.extensions.getOpenTimerTabIntent
|
||||
import com.simplemobiletools.clock.extensions.timerHelper
|
||||
import com.simplemobiletools.clock.helpers.TIMER_RUNNING_NOTIF_ID
|
||||
import com.simplemobiletools.clock.models.TimerEvent
|
||||
import com.simplemobiletools.clock.models.TimerState
|
||||
import com.simplemobiletools.commons.extensions.getFormattedDuration
|
||||
import com.simplemobiletools.commons.helpers.isOreoPlus
|
||||
import kotlin.math.roundToInt
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.greenrobot.eventbus.Subscribe
|
||||
import org.greenrobot.eventbus.ThreadMode
|
||||
@ -34,18 +38,43 @@ class TimerService : Service() {
|
||||
|
||||
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
|
||||
super.onStartCommand(intent, flags, startId)
|
||||
|
||||
val formattedDuration = config.timerSeconds.getFormattedDuration()
|
||||
startForeground(TIMER_RUNNING_NOTIF_ID, notification(formattedDuration))
|
||||
|
||||
updateNotification()
|
||||
startForeground(TIMER_RUNNING_NOTIF_ID, notification(getString(R.string.app_name), getString(R.string.timer_notification_msg), -1))
|
||||
return START_NOT_STICKY
|
||||
}
|
||||
|
||||
private fun updateNotification() {
|
||||
timerHelper.getTimers { timers ->
|
||||
val runningTimers = timers.filter { it.state is TimerState.Running }
|
||||
if (runningTimers.isNotEmpty()) {
|
||||
val firstTimer = runningTimers.first()
|
||||
val formattedDuration = (firstTimer.state as TimerState.Running).tick.getFormattedDuration()
|
||||
val contextText = when {
|
||||
runningTimers.size > 1 -> {
|
||||
getString(R.string.timer_multiple_notification_msg, runningTimers.size)
|
||||
}
|
||||
firstTimer.label.isNotEmpty() -> {
|
||||
getString(R.string.timer_single_notification_label_msg, firstTimer.label)
|
||||
}
|
||||
else -> {
|
||||
getString(R.string.timer_single_notification_msg, runningTimers.size)
|
||||
}
|
||||
}
|
||||
startForeground(TIMER_RUNNING_NOTIF_ID, notification(formattedDuration, contextText, firstTimer.id!!))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onMessageEvent(event: TimerStopService) {
|
||||
stopService()
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onMessageEvent(event: TimerEvent.Refresh) {
|
||||
updateNotification()
|
||||
}
|
||||
|
||||
private fun stopService() {
|
||||
if (isOreoPlus()) {
|
||||
stopForeground(true)
|
||||
@ -60,7 +89,7 @@ class TimerService : Service() {
|
||||
}
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.O)
|
||||
private fun notification(formattedDuration: String): Notification {
|
||||
private fun notification(title: String, contentText: String, firstRunningTimerId: Long): Notification {
|
||||
val channelId = "simple_alarm_timer"
|
||||
val label = getString(R.string.timer)
|
||||
val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
|
||||
@ -73,16 +102,19 @@ class TimerService : Service() {
|
||||
}
|
||||
|
||||
val builder = NotificationCompat.Builder(this)
|
||||
.setContentTitle(label)
|
||||
.setContentText(formattedDuration)
|
||||
.setContentTitle(title)
|
||||
.setContentText(contentText)
|
||||
.setSmallIcon(R.drawable.ic_timer)
|
||||
.setContentIntent(this.getOpenTimerTabIntent(0))
|
||||
.setPriority(Notification.PRIORITY_DEFAULT)
|
||||
.setSound(null)
|
||||
.setOngoing(true)
|
||||
.setAutoCancel(true)
|
||||
.setChannelId(channelId)
|
||||
|
||||
if (firstRunningTimerId != -1L) {
|
||||
builder.setContentIntent(this.getOpenTimerTabIntent(firstRunningTimerId))
|
||||
}
|
||||
|
||||
builder.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
|
||||
return builder.build()
|
||||
}
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Saat bölməsi</string>
|
||||
<string name="alarm_tab">Siqnal bölməsi</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Záložka hodin</string>
|
||||
<string name="alarm_tab">Záložka budíku</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Tab cloc</string>
|
||||
<string name="alarm_tab">Tab larwm</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Ur</string>
|
||||
<string name="alarm_tab">Alarm</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Uhr</string>
|
||||
<string name="alarm_tab">Wecker</string>
|
||||
|
@ -18,6 +18,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Ετικέτα Ρολογιού</string>
|
||||
<string name="alarm_tab">Ετικέτα Αφύπνισης</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Pestaña de reloj</string>
|
||||
<string name="alarm_tab">Pestaña de alarma</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Erloju fitxa</string>
|
||||
<string name="alarm_tab">Alarma fitxa</string>
|
||||
|
@ -16,6 +16,12 @@
|
||||
<string name="swipe_right_to_dismiss">Pyyhkäise oikealle sammuttaaksesi tai vasemmalle torkuttaaksesi.</string>
|
||||
<string name="sort_by_creation_order">Luontijärjestys</string>
|
||||
<string name="sort_by_alarm_time">Herätysaika</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Kello-välilehti</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Horloge</string>
|
||||
<string name="alarm_tab">Réveil</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Kartica sata</string>
|
||||
<string name="alarm_tab">Kartica alarma</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Tab jam</string>
|
||||
<string name="alarm_tab">Tab alarm</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Tab jam</string>
|
||||
<string name="alarm_tab">Tab alarm</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Scheda orologio</string>
|
||||
<string name="alarm_tab">Scheda sveglia</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">時計</string>
|
||||
<string name="alarm_tab">アラーム</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Laikrodžio skirtukas</string>
|
||||
<string name="alarm_tab">Žadintuvo skirtukas</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">ക്ലോക്ക് ടാബ്</string>
|
||||
<string name="alarm_tab">അലാറം ടാബ്</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Klokke</string>
|
||||
<string name="alarm_tab">Alarm</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Aanmaakvolgorde</string>
|
||||
<string name="sort_by_alarm_time">Alarmtijd</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Tab Klok</string>
|
||||
<string name="alarm_tab">Tab Alarm</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Zegar</string>
|
||||
<string name="alarm_tab">Alarm</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Relógio</string>
|
||||
<string name="alarm_tab">Alarme</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Часы</string>
|
||||
<string name="alarm_tab">Будильник</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Poradia vytvorenia</string>
|
||||
<string name="sort_by_alarm_time">Času budíka</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Okno s časom</string>
|
||||
<string name="alarm_tab">Okno s budíkom</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Fliken Klocka</string>
|
||||
<string name="alarm_tab">Fliken Alarm</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Saat sekmesi</string>
|
||||
<string name="alarm_tab">Alarm sekmesi</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Годинник</string>
|
||||
<string name="alarm_tab">Будильник</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">时钟页面</string>
|
||||
<string name="alarm_tab">闹钟页面</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">時鐘頁面</string>
|
||||
<string name="alarm_tab">鬧鐘頁面</string>
|
||||
|
@ -17,6 +17,12 @@
|
||||
<string name="sort_by_creation_order">Creation order</string>
|
||||
<string name="sort_by_alarm_time">Alarm time</string>
|
||||
|
||||
<!--Timer-->
|
||||
<string name="timer_notification_msg">Timers are running</string>
|
||||
<string name="timer_multiple_notification_msg">%d timers are running</string>
|
||||
<string name="timer_single_notification_label_msg">Timer for %s is running</string>
|
||||
<string name="timer_single_notification_msg">%d timer is running</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="clock_tab">Clock tab</string>
|
||||
<string name="alarm_tab">Alarm tab</string>
|
||||
|
Reference in New Issue
Block a user