adding a SelectAlarmSoundDialog
This commit is contained in:
parent
b71f42eb64
commit
aeba8cb2d9
42 changed files with 298 additions and 5 deletions
|
@ -6,7 +6,7 @@ buildscript {
|
|||
propMinSdkVersion = 16
|
||||
propTargetSdkVersion = propCompileSdkVersion
|
||||
propVersionCode = 1
|
||||
propVersionName = '3.17.9'
|
||||
propVersionName = '3.17.10'
|
||||
kotlin_version = '1.2.31'
|
||||
support_libs = '27.1.0'
|
||||
}
|
||||
|
|
|
@ -33,6 +33,7 @@ dependencies {
|
|||
implementation 'com.andrognito.patternlockview:patternlockview:1.0.0'
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
|
||||
implementation 'com.bignerdranch.android:recyclerview-multiselect:0.2'
|
||||
implementation 'com.google.code.gson:gson:2.8.2'
|
||||
compile 'com.github.ajalt.reprint:core:3.2.1@aar'
|
||||
|
||||
annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'
|
||||
|
|
|
@ -0,0 +1,155 @@
|
|||
package com.simplemobiletools.commons.dialogs
|
||||
|
||||
import android.annotation.TargetApi
|
||||
import android.content.Intent
|
||||
import android.media.MediaPlayer
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.support.v7.app.AlertDialog
|
||||
import android.view.ViewGroup
|
||||
import android.widget.RadioGroup
|
||||
import com.google.gson.Gson
|
||||
import com.google.gson.reflect.TypeToken
|
||||
import com.simplemobiletools.commons.R
|
||||
import com.simplemobiletools.commons.activities.BaseSimpleActivity
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.isKitkatPlus
|
||||
import com.simplemobiletools.commons.models.AlarmSound
|
||||
import com.simplemobiletools.commons.models.RadioItem
|
||||
import com.simplemobiletools.commons.views.MyCompatRadioButton
|
||||
import kotlinx.android.synthetic.main.dialog_select_alarm_sound.view.*
|
||||
import java.util.*
|
||||
|
||||
class SelectAlarmSoundDialog(val activity: BaseSimpleActivity, val currentUri: String, val audioStream: Int, val pickAudioIntentId: Int, val onAlarmPicked: (alarmSound: AlarmSound?) -> Unit,
|
||||
val onAlarmSoundDeleted: (alarmSound: AlarmSound) -> Unit) {
|
||||
private val ADD_NEW_SOUND_ID = -2
|
||||
|
||||
private val view = activity.layoutInflater.inflate(R.layout.dialog_select_alarm_sound, null)
|
||||
private var systemAlarmSounds = ArrayList<AlarmSound>()
|
||||
private var yourAlarmSounds = ArrayList<AlarmSound>()
|
||||
private var mediaPlayer = MediaPlayer()
|
||||
private val config = activity.baseConfig
|
||||
private val dialog: AlertDialog
|
||||
|
||||
init {
|
||||
activity.getAlarmSounds {
|
||||
systemAlarmSounds = it
|
||||
gotSystemAlarms()
|
||||
}
|
||||
|
||||
view.dialog_select_alarm_your_label.setTextColor(activity.getAdjustedPrimaryColor())
|
||||
view.dialog_select_alarm_system_label.setTextColor(activity.getAdjustedPrimaryColor())
|
||||
|
||||
addYourAlarms()
|
||||
|
||||
dialog = AlertDialog.Builder(activity)
|
||||
.setOnDismissListener { mediaPlayer.stop() }
|
||||
.setPositiveButton(R.string.ok, { dialog, which -> dialogConfirmed() })
|
||||
.setNegativeButton(R.string.cancel, null)
|
||||
.create().apply {
|
||||
activity.setupDialogStuff(view, this)
|
||||
window.volumeControlStream = audioStream
|
||||
}
|
||||
}
|
||||
|
||||
private fun addYourAlarms() {
|
||||
view.dialog_select_alarm_your_radio.removeAllViews()
|
||||
val token = object : TypeToken<ArrayList<AlarmSound>>() {}.type
|
||||
yourAlarmSounds = Gson().fromJson<ArrayList<AlarmSound>>(config.yourAlarmSounds, token) ?: ArrayList()
|
||||
yourAlarmSounds.add(AlarmSound(ADD_NEW_SOUND_ID, activity.getString(R.string.add_new_sound), ""))
|
||||
yourAlarmSounds.forEach {
|
||||
addAlarmSound(it, view.dialog_select_alarm_your_radio)
|
||||
}
|
||||
}
|
||||
|
||||
private fun gotSystemAlarms() {
|
||||
systemAlarmSounds.forEach {
|
||||
addAlarmSound(it, view.dialog_select_alarm_system_radio)
|
||||
}
|
||||
}
|
||||
|
||||
private fun addAlarmSound(alarmSound: AlarmSound, holder: ViewGroup) {
|
||||
val radioButton = (activity.layoutInflater.inflate(R.layout.item_select_alarm_sound, null) as MyCompatRadioButton).apply {
|
||||
text = alarmSound.title
|
||||
isChecked = alarmSound.uri == currentUri
|
||||
id = alarmSound.id
|
||||
setColors(config.textColor, activity.getAdjustedPrimaryColor(), config.backgroundColor)
|
||||
setOnClickListener {
|
||||
alarmClicked(alarmSound)
|
||||
|
||||
if (holder == view.dialog_select_alarm_system_radio) {
|
||||
view.dialog_select_alarm_your_radio.clearCheck()
|
||||
} else {
|
||||
view.dialog_select_alarm_system_radio.clearCheck()
|
||||
}
|
||||
}
|
||||
|
||||
if (alarmSound.id != -2 && holder == view.dialog_select_alarm_your_radio) {
|
||||
setOnLongClickListener {
|
||||
val items = arrayListOf(RadioItem(1, context.getString(R.string.remove)))
|
||||
|
||||
RadioGroupDialog(activity, items) {
|
||||
removeAlarmSound(alarmSound)
|
||||
}
|
||||
true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
holder.addView(radioButton, RadioGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT))
|
||||
}
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.KITKAT)
|
||||
private fun alarmClicked(alarmSound: AlarmSound) {
|
||||
if (alarmSound.id == ADD_NEW_SOUND_ID) {
|
||||
val action = if (isKitkatPlus()) Intent.ACTION_OPEN_DOCUMENT else Intent.ACTION_GET_CONTENT
|
||||
Intent(action).apply {
|
||||
type = "audio/*"
|
||||
activity.startActivityForResult(this, pickAudioIntentId)
|
||||
|
||||
if (isKitkatPlus()) {
|
||||
flags = flags or Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION
|
||||
}
|
||||
}
|
||||
dialog.dismiss()
|
||||
} else {
|
||||
try {
|
||||
mediaPlayer.stop()
|
||||
mediaPlayer = MediaPlayer().apply {
|
||||
setAudioStreamType(audioStream)
|
||||
setDataSource(activity, Uri.parse(alarmSound.uri))
|
||||
isLooping = true
|
||||
prepare()
|
||||
start()
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
activity.showErrorToast(e)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun removeAlarmSound(alarmSound: AlarmSound) {
|
||||
val token = object : TypeToken<ArrayList<AlarmSound>>() {}.type
|
||||
yourAlarmSounds = Gson().fromJson<ArrayList<AlarmSound>>(config.yourAlarmSounds, token) ?: ArrayList()
|
||||
yourAlarmSounds.remove(alarmSound)
|
||||
config.yourAlarmSounds = Gson().toJson(yourAlarmSounds)
|
||||
addYourAlarms()
|
||||
|
||||
if (alarmSound.id == view.dialog_select_alarm_your_radio.checkedRadioButtonId) {
|
||||
view.dialog_select_alarm_your_radio.clearCheck()
|
||||
view.dialog_select_alarm_system_radio.check(systemAlarmSounds.firstOrNull()?.id ?: 0)
|
||||
}
|
||||
|
||||
onAlarmSoundDeleted(alarmSound)
|
||||
}
|
||||
|
||||
private fun dialogConfirmed() {
|
||||
if (view.dialog_select_alarm_your_radio.checkedRadioButtonId != -1) {
|
||||
val checkedId = view.dialog_select_alarm_your_radio.checkedRadioButtonId
|
||||
onAlarmPicked(yourAlarmSounds.firstOrNull { it.id == checkedId })
|
||||
} else {
|
||||
val checkedId = view.dialog_select_alarm_system_radio.checkedRadioButtonId
|
||||
onAlarmPicked(systemAlarmSounds.firstOrNull { it.id == checkedId })
|
||||
}
|
||||
}
|
||||
}
|
|
@ -7,6 +7,7 @@ import android.content.ClipboardManager
|
|||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.media.RingtoneManager
|
||||
import android.net.Uri
|
||||
import android.os.Looper
|
||||
import android.os.TransactionTooLargeException
|
||||
|
@ -26,10 +27,7 @@ import com.simplemobiletools.commons.R
|
|||
import com.simplemobiletools.commons.activities.BaseSimpleActivity
|
||||
import com.simplemobiletools.commons.dialogs.*
|
||||
import com.simplemobiletools.commons.helpers.*
|
||||
import com.simplemobiletools.commons.models.FileDirItem
|
||||
import com.simplemobiletools.commons.models.RadioItem
|
||||
import com.simplemobiletools.commons.models.Release
|
||||
import com.simplemobiletools.commons.models.SharedTheme
|
||||
import com.simplemobiletools.commons.models.*
|
||||
import com.simplemobiletools.commons.views.MyTextView
|
||||
import kotlinx.android.synthetic.main.dialog_title.view.*
|
||||
import java.io.*
|
||||
|
@ -783,3 +781,42 @@ fun Activity.showPickSecondsDialog(curSeconds: Int, isSnoozePicker: Boolean = fa
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun BaseSimpleActivity.getAlarmSounds(callback: (ArrayList<AlarmSound>) -> Unit) {
|
||||
val alarms = ArrayList<AlarmSound>()
|
||||
val manager = RingtoneManager(this)
|
||||
manager.setType(RingtoneManager.TYPE_ALARM)
|
||||
|
||||
try {
|
||||
val cursor = manager.cursor
|
||||
val defaultAlarm = AlarmSound(0, getDefaultAlarmTitle(getString(R.string.alarm)), getDefaultAlarmUri().toString())
|
||||
alarms.add(defaultAlarm)
|
||||
|
||||
var curId = 1
|
||||
while (cursor.moveToNext()) {
|
||||
val title = cursor.getString(RingtoneManager.TITLE_COLUMN_INDEX)
|
||||
var uri = cursor.getString(RingtoneManager.URI_COLUMN_INDEX)
|
||||
val id = cursor.getString(RingtoneManager.ID_COLUMN_INDEX)
|
||||
if (!uri.endsWith(id)) {
|
||||
uri += "/$id"
|
||||
}
|
||||
val alarmSound = AlarmSound(curId++, title, uri)
|
||||
alarms.add(alarmSound)
|
||||
}
|
||||
callback(alarms)
|
||||
} catch (e: Exception) {
|
||||
if (e is SecurityException) {
|
||||
handlePermission(PERMISSION_READ_STORAGE) {
|
||||
if (it) {
|
||||
getAlarmSounds(callback)
|
||||
} else {
|
||||
showErrorToast(e)
|
||||
callback(ArrayList())
|
||||
}
|
||||
}
|
||||
} else {
|
||||
showErrorToast(e)
|
||||
callback(ArrayList())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import android.content.Context
|
|||
import android.content.pm.PackageManager
|
||||
import android.database.Cursor
|
||||
import android.graphics.Color
|
||||
import android.media.RingtoneManager
|
||||
import android.net.Uri
|
||||
import android.os.Environment
|
||||
import android.provider.BaseColumns
|
||||
|
@ -443,3 +444,7 @@ fun Context.getFormattedSeconds(seconds: Int, showBefore: Boolean = true) = when
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun Context.getDefaultAlarmUri() = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM)
|
||||
|
||||
fun Context.getDefaultAlarmTitle(defaultTitle: String) = RingtoneManager.getRingtone(this, getDefaultAlarmUri())?.getTitle(this) ?: defaultTitle
|
||||
|
|
|
@ -211,4 +211,8 @@ open class BaseConfig(val context: Context) {
|
|||
var vibrateOnButtonPress: Boolean
|
||||
get() = prefs.getBoolean(VIBRATE_ON_BUTTON_PRESS, false)
|
||||
set(vibrateOnButton) = prefs.edit().putBoolean(VIBRATE_ON_BUTTON_PRESS, vibrateOnButton).apply()
|
||||
|
||||
var yourAlarmSounds: String
|
||||
get() = prefs.getString(YOUR_ALARM_SOUNDS, "")
|
||||
set(yourAlarmSounds) = prefs.edit().putString(YOUR_ALARM_SOUNDS, yourAlarmSounds).apply()
|
||||
}
|
||||
|
|
|
@ -73,6 +73,7 @@ const val WAS_REMINDER_WARNING_SHOWN = "was_reminder_warning_shown"
|
|||
const val USE_SAME_SNOOZE = "use_same_snooze"
|
||||
const val SNOOZE_TIME = "snooze_delay"
|
||||
const val VIBRATE_ON_BUTTON_PRESS = "vibrate_on_button_press"
|
||||
const val YOUR_ALARM_SOUNDS = "your_alarm_sounds"
|
||||
|
||||
// licenses
|
||||
internal const val LICENSE_KOTLIN = 1
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
package com.simplemobiletools.commons.models
|
||||
|
||||
data class AlarmSound(val id: Int, var title: String, var uri: String)
|
47
commons/src/main/res/layout/dialog_select_alarm_sound.xml
Normal file
47
commons/src/main/res/layout/dialog_select_alarm_sound.xml
Normal file
|
@ -0,0 +1,47 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ScrollView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/dialog_select_alarm_scrollview"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/dialog_select_alarm_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/dialog_select_alarm_your_label"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="@dimen/bigger_margin"
|
||||
android:paddingTop="@dimen/bigger_margin"
|
||||
android:text="@string/your_sounds"/>
|
||||
|
||||
<RadioGroup
|
||||
android:id="@+id/dialog_select_alarm_your_radio"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="@dimen/activity_margin"
|
||||
android:paddingRight="@dimen/activity_margin"
|
||||
android:paddingTop="@dimen/medium_margin"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/dialog_select_alarm_system_label"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="@dimen/bigger_margin"
|
||||
android:paddingTop="@dimen/medium_margin"
|
||||
android:text="@string/system_sounds"/>
|
||||
|
||||
<RadioGroup
|
||||
android:id="@+id/dialog_select_alarm_system_radio"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="@dimen/activity_margin"
|
||||
android:paddingRight="@dimen/activity_margin"
|
||||
android:paddingTop="@dimen/medium_margin"/>
|
||||
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
8
commons/src/main/res/layout/item_select_alarm_sound.xml
Normal file
8
commons/src/main/res/layout/item_select_alarm_sound.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.simplemobiletools.commons.views.MyCompatRadioButton
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/item_select_alarm_sound"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingBottom="@dimen/activity_margin"
|
||||
android:paddingTop="@dimen/activity_margin"/>
|
|
@ -308,6 +308,7 @@
|
|||
<string name="reminder_warning">Please make sure the reminders work properly before relying on them. They could misbehave due to system restrictions related to battery saving.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Snooze</string>
|
||||
<string name="dismiss">Dismiss</string>
|
||||
<string name="no_reminder">No reminder</string>
|
||||
|
|
|
@ -308,6 +308,7 @@
|
|||
<string name="reminder_warning">Please make sure the reminders work properly before relying on them. They could misbehave due to system restrictions related to battery saving.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Daleañ</string>
|
||||
<string name="dismiss">Dismiss</string>
|
||||
<string name="no_reminder">Adc\'halv ebet</string>
|
||||
|
|
|
@ -310,6 +310,7 @@
|
|||
<string name="reminder_warning">Assegureu-vos que els recordatoris funcionin correctament abans de confiar-hi. Podrien comportar-se malament a causa de les restriccions del sistema relacionades amb l\'estalvi de bateria.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Postposar</string>
|
||||
<string name="dismiss">Cancel·lar</string>
|
||||
<string name="no_reminder">No reminder</string>
|
||||
|
|
|
@ -325,6 +325,7 @@
|
|||
<string name="reminder_warning">Please make sure the reminders work properly before relying on them. They could misbehave due to system restrictions related to battery saving.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Snooze</string>
|
||||
<string name="dismiss">Dismiss</string>
|
||||
<string name="no_reminder">Žádné připomenutí</string>
|
||||
|
|
|
@ -308,6 +308,7 @@
|
|||
<string name="reminder_warning">Du anbefales sikre dig at påmindelser virker som de skal inden du stoler på dem. De kan skuffe i kraft af strømbesparende begrænsninger på systemet.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Snooze</string>
|
||||
<string name="dismiss">Slå fra</string>
|
||||
<string name="no_reminder">Ingen påmindelse</string>
|
||||
|
|
|
@ -308,6 +308,7 @@
|
|||
<string name="reminder_warning">Bitte stell sicher, dass die Erinnerung zuverlässig funktioniert, bevor Du Dich darauf verlässt. Es könnte wegen Systemeinschränkungen (z.B. Stromsparfunktion) fehlschlagen.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Wecker</string>
|
||||
<string name="snooze">Snooze</string>
|
||||
<string name="dismiss">Abstellen</string>
|
||||
<string name="no_reminder">Keine Erinnerung</string>
|
||||
|
|
|
@ -307,6 +307,7 @@
|
|||
<string name="reminder_warning">Asegúrese de que los recordatorios funcionen correctamente antes de confiar en ellos. Podrían portarse mal debido a las restricciones del sistema relacionadas con el ahorro de batería.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Posponer</string>
|
||||
<string name="dismiss">Candelar</string>
|
||||
<string name="no_reminder">Sin recordatorio</string>
|
||||
|
|
|
@ -308,6 +308,7 @@
|
|||
<string name="reminder_warning">Varmista että muistutus toimii ennenkuin turvaudut siihen. Se voi toimia virheellisesti laitteesi virransäästötoiminnoista riippuen.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Torkuta</string>
|
||||
<string name="dismiss">Ohita</string>
|
||||
<string name="no_reminder">Ei muistutusta</string>
|
||||
|
|
|
@ -308,6 +308,7 @@
|
|||
<string name="reminder_warning">Veuillez vérifier que les rappels fonctionnent correctement avant de leur faire confiance. Ils pourraient ne pas fonctionner correctement, à cause de la politique d\'économie d\'énergie de votre appareil.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Réveil</string>
|
||||
<string name="snooze">Répéter</string>
|
||||
<string name="dismiss">Ignorer</string>
|
||||
<string name="no_reminder">Pas de rappel</string>
|
||||
|
|
|
@ -307,6 +307,7 @@
|
|||
<string name="reminder_warning">Please make sure the reminders work properly before relying on them. They could misbehave due to system restrictions related to battery saving.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Retrasar</string>
|
||||
<string name="dismiss">Dismiss</string>
|
||||
<string name="no_reminder">Sin recordatorio</string>
|
||||
|
|
|
@ -308,6 +308,7 @@
|
|||
<string name="reminder_warning">Please make sure the reminders work properly before relying on them. They could misbehave due to system restrictions related to battery saving.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Snooze</string>
|
||||
<string name="dismiss">Dismiss</string>
|
||||
<string name="no_reminder">No reminder</string>
|
||||
|
|
|
@ -326,6 +326,7 @@
|
|||
<string name="reminder_warning">Please make sure the reminders work properly before relying on them. They could misbehave due to system restrictions related to battery saving.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Snooze</string>
|
||||
<string name="dismiss">Dismiss</string>
|
||||
<string name="no_reminder">No reminder</string>
|
||||
|
|
|
@ -308,6 +308,7 @@
|
|||
<string name="reminder_warning">Please make sure the reminders work properly before relying on them. They could misbehave due to system restrictions related to battery saving.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Snooze</string>
|
||||
<string name="dismiss">Dismiss</string>
|
||||
<string name="no_reminder">No reminder</string>
|
||||
|
|
|
@ -308,6 +308,7 @@
|
|||
<string name="reminder_warning">Please make sure the reminders work properly before relying on them. They could misbehave due to system restrictions related to battery saving.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Snooze</string>
|
||||
<string name="dismiss">Dismiss</string>
|
||||
<string name="no_reminder">No reminder</string>
|
||||
|
|
|
@ -308,6 +308,7 @@
|
|||
<string name="reminder_warning">Assicurati che i promemoria funzionino correttamente prima di fare affidamento su di essi. Potrebbero comportarsi in modo anomalo a causa di restrizioni di sistema relative al risparmio della batteria.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Posponi</string>
|
||||
<string name="dismiss">Ignora</string>
|
||||
<string name="no_reminder">Nessun promemoria</string>
|
||||
|
|
|
@ -308,6 +308,7 @@
|
|||
<string name="reminder_warning">Please make sure the reminders work properly before relying on them. They could misbehave due to system restrictions related to battery saving.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Snooze</string>
|
||||
<string name="dismiss">Dismiss</string>
|
||||
<string name="no_reminder">No reminder</string>
|
||||
|
|
|
@ -308,6 +308,7 @@
|
|||
<string name="reminder_warning">Please make sure the reminders work properly before relying on them. They could misbehave due to system restrictions related to battery saving.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Snooze</string>
|
||||
<string name="dismiss">Dismiss</string>
|
||||
<string name="no_reminder">No reminder</string>
|
||||
|
|
|
@ -308,6 +308,7 @@
|
|||
<string name="reminder_warning">Please make sure the reminders work properly before relying on them. They could misbehave due to system restrictions related to battery saving.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">스누즈</string>
|
||||
<string name="dismiss">Dismiss</string>
|
||||
<string name="no_reminder">알림 없음</string>
|
||||
|
|
|
@ -325,6 +325,7 @@
|
|||
<string name="reminder_warning">Prieš naudodamiesi, įsitikinkite, kad priminimai tinkamai veikia. Jie gali netinkamai veikti dėl sistemos apribojimų, susijusių su baterijos taupymu.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Žadintuvas</string>
|
||||
<string name="snooze">Snausti</string>
|
||||
<string name="dismiss">Nutraukti</string>
|
||||
<string name="no_reminder">Nėra priminimo</string>
|
||||
|
|
|
@ -308,6 +308,7 @@
|
|||
<string name="reminder_warning">Sørg for at påminnelsene fungerer riktig før du stoler på dem. De kan fungere dårlig på grunn av systembegrensninger relatert til batterisparing.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Snooze</string>
|
||||
<string name="dismiss">Avvis</string>
|
||||
<string name="no_reminder">Ingen påminnelse</string>
|
||||
|
|
|
@ -308,6 +308,7 @@
|
|||
<string name="reminder_warning">Controleer eerst of de herinneringen goed werken. Er kunnen zich problemen voordoen door de batterijbesparing van Android.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Uitstellen</string>
|
||||
<string name="dismiss">Uitzetten</string>
|
||||
<string name="no_reminder">Geen herinnering</string>
|
||||
|
|
|
@ -308,6 +308,7 @@
|
|||
<string name="reminder_warning">Please make sure the reminders work properly before relying on them. They could misbehave due to system restrictions related to battery saving.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Snooze</string>
|
||||
<string name="dismiss">Dismiss</string>
|
||||
<string name="no_reminder">Ingen påminnelse</string>
|
||||
|
|
|
@ -322,6 +322,7 @@
|
|||
<string name="reminder_warning">Please make sure the reminders work properly before relying on them. They could misbehave due to system restrictions related to battery saving.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Drzemka</string>
|
||||
<string name="dismiss">Dismiss</string>
|
||||
<string name="no_reminder">Brak przypomnienia</string>
|
||||
|
|
|
@ -308,6 +308,7 @@
|
|||
<string name="reminder_warning">Please make sure the reminders work properly before relying on them. They could misbehave due to system restrictions related to battery saving.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Snooze</string>
|
||||
<string name="dismiss">Dismiss</string>
|
||||
<string name="no_reminder">Sem lembrete</string>
|
||||
|
|
|
@ -308,6 +308,7 @@
|
|||
<string name="reminder_warning">Certifique-se de que o lembrete está a funcionar corretamente antes de o utilizar na plenitude. Pode ter um comportamento errático devido a restrições do sistema.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarme</string>
|
||||
<string name="snooze">Snooze</string>
|
||||
<string name="dismiss">Descartar</string>
|
||||
<string name="no_reminder">Sem lembrete</string>
|
||||
|
|
|
@ -334,6 +334,7 @@
|
|||
<string name="reminder_warning">Пожалуйста, убедитесь, что напоминания работают правильно, прежде чем полагаться на них. Они могут не работать должным образом из-за системных ограничений, связанных с экономией батареи.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Отложить</string>
|
||||
<string name="dismiss">Закрыть</string>
|
||||
<string name="no_reminder">Без напоминания</string>
|
||||
|
|
|
@ -326,6 +326,7 @@
|
|||
<string name="reminder_warning">Pred tým, ako by ste sa na pripomienky spoliehali, sa prosím uistite, že fungujú správne. Niektoré systémové obmedzenia spojené so zlepšením výdrže batérie môžu spôsobiť problémy.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Budík</string>
|
||||
<string name="snooze">Odložiť</string>
|
||||
<string name="dismiss">Odstrániť</string>
|
||||
<string name="no_reminder">Žiadna pripomienka</string>
|
||||
|
|
|
@ -308,6 +308,7 @@
|
|||
<string name="reminder_warning">Kontrollera att påminnelserna fungerar som de ska innan du förlitar dig på dem. De kanske inte fungerar som de ska på grund av batterisparrelaterade systembegränsningar.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Snooza</string>
|
||||
<string name="dismiss">Stäng av</string>
|
||||
<string name="no_reminder">Ingen påminnelse</string>
|
||||
|
|
|
@ -308,6 +308,7 @@
|
|||
<string name="reminder_warning">Please make sure the reminders work properly before relying on them. They could misbehave due to system restrictions related to battery saving.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Snooze</string>
|
||||
<string name="dismiss">Dismiss</string>
|
||||
<string name="no_reminder">Hatırlatma yok</string>
|
||||
|
|
|
@ -308,6 +308,7 @@
|
|||
<string name="reminder_warning">在依赖它们之前,请确保提醒能够正常工作。由于系统与节电有关的限制,它们有时可能会失灵。</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">贪睡</string>
|
||||
<string name="dismiss">关闭</string>
|
||||
<string name="no_reminder">不再提醒</string>
|
||||
|
|
|
@ -307,6 +307,7 @@
|
|||
<string name="reminder_warning">依靠提醒功能之前,請先確認是否正常運作,有可能因為省電相關的系統限制而導致失靈。</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">鬧鐘</string>
|
||||
<string name="snooze">延遲</string>
|
||||
<string name="dismiss">關閉</string>
|
||||
<string name="no_reminder">不提醒</string>
|
||||
|
|
|
@ -308,6 +308,7 @@
|
|||
<string name="reminder_warning">Please make sure the reminders work properly before relying on them. They could misbehave due to system restrictions related to battery saving.</string>
|
||||
|
||||
<!-- Alarms -->
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="snooze">Snooze</string>
|
||||
<string name="dismiss">Dismiss</string>
|
||||
<string name="no_reminder">No reminder</string>
|
||||
|
|
Loading…
Reference in a new issue