mirror of
https://github.com/SimpleMobileTools/Simple-Clock.git
synced 2025-02-02 11:36:52 +01:00
moving SelectAlarmSoundDialog in Commons
This commit is contained in:
parent
950d49c2b1
commit
e93dbdc327
@ -41,11 +41,10 @@ android {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'com.simplemobiletools:commons:3.17.9'
|
||||
implementation 'com.simplemobiletools:commons:3.17.11'
|
||||
implementation 'com.facebook.stetho:stetho:1.5.0'
|
||||
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
|
||||
implementation 'com.shawnlin:number-picker:2.4.6'
|
||||
implementation 'com.google.code.gson:gson:2.8.2'
|
||||
}
|
||||
|
||||
Properties props = new Properties()
|
||||
|
@ -19,11 +19,11 @@ import com.simplemobiletools.clock.extensions.dbHelper
|
||||
import com.simplemobiletools.clock.extensions.getNextAlarm
|
||||
import com.simplemobiletools.clock.extensions.rescheduleEnabledAlarms
|
||||
import com.simplemobiletools.clock.helpers.*
|
||||
import com.simplemobiletools.clock.models.AlarmSound
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.LICENSE_NUMBER_PICKER
|
||||
import com.simplemobiletools.commons.helpers.LICENSE_STETHO
|
||||
import com.simplemobiletools.commons.helpers.isKitkatPlus
|
||||
import com.simplemobiletools.commons.models.AlarmSound
|
||||
import com.simplemobiletools.commons.models.FAQItem
|
||||
import kotlinx.android.synthetic.main.activity_main.*
|
||||
import java.util.*
|
||||
|
@ -11,7 +11,7 @@ import com.simplemobiletools.clock.fragments.TimerFragment
|
||||
import com.simplemobiletools.clock.helpers.TABS_COUNT
|
||||
import com.simplemobiletools.clock.helpers.TAB_ALARM
|
||||
import com.simplemobiletools.clock.helpers.TAB_TIMER
|
||||
import com.simplemobiletools.clock.models.AlarmSound
|
||||
import com.simplemobiletools.commons.models.AlarmSound
|
||||
|
||||
class ViewPagerAdapter(fm: FragmentManager) : FragmentStatePagerAdapter(fm) {
|
||||
private val fragments = HashMap<Int, Fragment>()
|
||||
|
@ -8,9 +8,11 @@ import android.widget.TextView
|
||||
import com.simplemobiletools.clock.R
|
||||
import com.simplemobiletools.clock.activities.SimpleActivity
|
||||
import com.simplemobiletools.clock.extensions.*
|
||||
import com.simplemobiletools.clock.helpers.PICK_AUDIO_FILE_INTENT_ID
|
||||
import com.simplemobiletools.clock.models.Alarm
|
||||
import com.simplemobiletools.clock.models.AlarmSound
|
||||
import com.simplemobiletools.commons.dialogs.SelectAlarmSoundDialog
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.models.AlarmSound
|
||||
import kotlinx.android.synthetic.main.dialog_edit_alarm.view.*
|
||||
|
||||
class EditAlarmDialog(val activity: SimpleActivity, val alarm: Alarm, val callback: () -> Unit) {
|
||||
@ -28,13 +30,13 @@ class EditAlarmDialog(val activity: SimpleActivity, val alarm: Alarm, val callba
|
||||
edit_alarm_sound.colorLeftDrawable(textColor)
|
||||
edit_alarm_sound.text = alarm.soundTitle
|
||||
edit_alarm_sound.setOnClickListener {
|
||||
SelectAlarmSoundDialog(activity, alarm.soundUri, AudioManager.STREAM_ALARM, onAlarmPicked = {
|
||||
SelectAlarmSoundDialog(activity, alarm.soundUri, AudioManager.STREAM_ALARM, PICK_AUDIO_FILE_INTENT_ID, onAlarmPicked = {
|
||||
if (it != null) {
|
||||
updateSelectedAlarmSound(it)
|
||||
}
|
||||
}, onAlarmSoundDeleted = {
|
||||
if (alarm.soundUri == it.uri) {
|
||||
val defaultAlarm = AlarmSound(0, context.getDefaultAlarmTitle(), context.getDefaultAlarmUri().toString())
|
||||
val defaultAlarm = AlarmSound(0, context.getDefaultAlarmTitle(context.getString(R.string.alarm)), context.getDefaultAlarmUri().toString())
|
||||
updateSelectedAlarmSound(defaultAlarm)
|
||||
}
|
||||
activity.checkAlarmsWithDeletedSoundUri(it.uri)
|
||||
|
@ -1,160 +0,0 @@
|
||||
package com.simplemobiletools.clock.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.clock.R
|
||||
import com.simplemobiletools.clock.activities.SimpleActivity
|
||||
import com.simplemobiletools.clock.extensions.config
|
||||
import com.simplemobiletools.clock.extensions.getAlarmSounds
|
||||
import com.simplemobiletools.clock.helpers.PICK_AUDIO_FILE_INTENT_ID
|
||||
import com.simplemobiletools.clock.models.AlarmSound
|
||||
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
|
||||
import com.simplemobiletools.commons.extensions.getAdjustedPrimaryColor
|
||||
import com.simplemobiletools.commons.extensions.setupDialogStuff
|
||||
import com.simplemobiletools.commons.extensions.showErrorToast
|
||||
import com.simplemobiletools.commons.helpers.isKitkatPlus
|
||||
import com.simplemobiletools.commons.models.RadioItem
|
||||
import com.simplemobiletools.commons.views.MyCompatRadioButton
|
||||
import kotlinx.android.synthetic.main.dialog_select_alarm_sound.view.*
|
||||
|
||||
class SelectAlarmSoundDialog(val activity: SimpleActivity, val currentUri: String, val audioStream: 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.config
|
||||
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, 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, PICK_AUDIO_FILE_INTENT_ID)
|
||||
|
||||
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 })
|
||||
}
|
||||
}
|
||||
}
|
@ -1,13 +1,7 @@
|
||||
package com.simplemobiletools.clock.extensions
|
||||
|
||||
import android.app.Activity
|
||||
import android.media.RingtoneManager
|
||||
import android.view.WindowManager
|
||||
import com.simplemobiletools.clock.models.AlarmSound
|
||||
import com.simplemobiletools.commons.activities.BaseSimpleActivity
|
||||
import com.simplemobiletools.commons.extensions.showErrorToast
|
||||
import com.simplemobiletools.commons.helpers.PERMISSION_READ_STORAGE
|
||||
import java.util.*
|
||||
|
||||
fun Activity.showOverLockscreen() {
|
||||
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON or
|
||||
@ -15,42 +9,3 @@ fun Activity.showOverLockscreen() {
|
||||
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED or
|
||||
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON)
|
||||
}
|
||||
|
||||
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(), 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,7 +7,6 @@ import android.content.ComponentName
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.media.AudioManager
|
||||
import android.media.RingtoneManager
|
||||
import android.net.Uri
|
||||
import android.os.PowerManager
|
||||
import android.provider.Settings
|
||||
@ -22,19 +21,17 @@ import com.simplemobiletools.clock.activities.SnoozeReminderActivity
|
||||
import com.simplemobiletools.clock.activities.SplashActivity
|
||||
import com.simplemobiletools.clock.helpers.*
|
||||
import com.simplemobiletools.clock.models.Alarm
|
||||
import com.simplemobiletools.clock.models.AlarmSound
|
||||
import com.simplemobiletools.clock.models.MyTimeZone
|
||||
import com.simplemobiletools.clock.receivers.AlarmReceiver
|
||||
import com.simplemobiletools.clock.receivers.DateTimeWidgetUpdateReceiver
|
||||
import com.simplemobiletools.clock.receivers.HideAlarmReceiver
|
||||
import com.simplemobiletools.clock.receivers.HideTimerReceiver
|
||||
import com.simplemobiletools.clock.services.SnoozeService
|
||||
import com.simplemobiletools.commons.extensions.formatMinutesToTimeString
|
||||
import com.simplemobiletools.commons.extensions.getAdjustedPrimaryColor
|
||||
import com.simplemobiletools.commons.extensions.toast
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.isKitkatPlus
|
||||
import com.simplemobiletools.commons.helpers.isLollipopPlus
|
||||
import com.simplemobiletools.commons.helpers.isOreoPlus
|
||||
import com.simplemobiletools.commons.models.AlarmSound
|
||||
import java.util.*
|
||||
import kotlin.math.pow
|
||||
|
||||
@ -77,11 +74,7 @@ fun Context.getAllTimeZonesModified(): ArrayList<MyTimeZone> {
|
||||
|
||||
fun Context.getModifiedTimeZoneTitle(id: Int) = getAllTimeZonesModified().firstOrNull { it.id == id }?.title ?: getDefaultTimeZoneTitle(id)
|
||||
|
||||
fun Context.getDefaultAlarmUri() = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM)
|
||||
|
||||
fun Context.getDefaultAlarmTitle() = RingtoneManager.getRingtone(this, getDefaultAlarmUri())?.getTitle(this) ?: getString(R.string.alarm)
|
||||
|
||||
fun Context.createNewAlarm(timeInMinutes: Int, weekDays: Int) = Alarm(0, timeInMinutes, weekDays, false, false, getDefaultAlarmTitle(), getDefaultAlarmUri().toString(), "")
|
||||
fun Context.createNewAlarm(timeInMinutes: Int, weekDays: Int) = Alarm(0, timeInMinutes, weekDays, false, false, getDefaultAlarmTitle(getString(R.string.alarm)), getDefaultAlarmUri().toString(), "")
|
||||
|
||||
fun Context.scheduleNextAlarm(alarm: Alarm, showToast: Boolean) {
|
||||
val calendar = Calendar.getInstance()
|
||||
@ -271,14 +264,6 @@ fun Context.getTimerNotification(pendingIntent: PendingIntent, addDeleteIntent:
|
||||
return notification
|
||||
}
|
||||
|
||||
fun Context.grantReadUriPermission(uriString: String) {
|
||||
try {
|
||||
// ensure custom reminder sounds play well
|
||||
grantUriPermission("com.android.systemui", Uri.parse(uriString), Intent.FLAG_GRANT_READ_URI_PERMISSION)
|
||||
} catch (ignored: Exception) {
|
||||
}
|
||||
}
|
||||
|
||||
fun Context.getHideTimerPendingIntent(): PendingIntent {
|
||||
val intent = Intent(this, HideTimerReceiver::class.java)
|
||||
return PendingIntent.getBroadcast(this, TIMER_NOTIF_ID, intent, PendingIntent.FLAG_UPDATE_CURRENT)
|
||||
@ -357,7 +342,7 @@ fun Context.getReminderActivityIntent(): PendingIntent {
|
||||
}
|
||||
|
||||
fun Context.checkAlarmsWithDeletedSoundUri(uri: String) {
|
||||
val defaultAlarm = AlarmSound(0, getDefaultAlarmTitle(), getDefaultAlarmUri().toString())
|
||||
val defaultAlarm = AlarmSound(0, getDefaultAlarmTitle(getString(R.string.alarm)), getDefaultAlarmUri().toString())
|
||||
dbHelper.getAlarmsWithUri(uri).forEach {
|
||||
it.soundTitle = defaultAlarm.title
|
||||
it.soundUri = defaultAlarm.uri
|
||||
|
@ -13,9 +13,9 @@ import com.simplemobiletools.clock.extensions.*
|
||||
import com.simplemobiletools.clock.helpers.DEFAULT_ALARM_MINUTES
|
||||
import com.simplemobiletools.clock.interfaces.ToggleAlarmInterface
|
||||
import com.simplemobiletools.clock.models.Alarm
|
||||
import com.simplemobiletools.clock.models.AlarmSound
|
||||
import com.simplemobiletools.commons.extensions.toast
|
||||
import com.simplemobiletools.commons.extensions.updateTextColors
|
||||
import com.simplemobiletools.commons.models.AlarmSound
|
||||
import kotlinx.android.synthetic.main.fragment_alarm.view.*
|
||||
import java.util.*
|
||||
|
||||
|
@ -14,10 +14,11 @@ import com.simplemobiletools.clock.R
|
||||
import com.simplemobiletools.clock.activities.ReminderActivity
|
||||
import com.simplemobiletools.clock.activities.SimpleActivity
|
||||
import com.simplemobiletools.clock.dialogs.MyTimePickerDialogDialog
|
||||
import com.simplemobiletools.clock.dialogs.SelectAlarmSoundDialog
|
||||
import com.simplemobiletools.clock.extensions.*
|
||||
import com.simplemobiletools.clock.models.AlarmSound
|
||||
import com.simplemobiletools.clock.helpers.PICK_AUDIO_FILE_INTENT_ID
|
||||
import com.simplemobiletools.commons.dialogs.SelectAlarmSoundDialog
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.models.AlarmSound
|
||||
import kotlinx.android.synthetic.main.fragment_timer.view.*
|
||||
|
||||
class TimerFragment : Fragment() {
|
||||
@ -66,13 +67,13 @@ class TimerFragment : Fragment() {
|
||||
}
|
||||
|
||||
timer_sound.setOnClickListener {
|
||||
SelectAlarmSoundDialog(activity as SimpleActivity, config.timerSoundUri, AudioManager.STREAM_SYSTEM, onAlarmPicked = {
|
||||
SelectAlarmSoundDialog(activity as SimpleActivity, config.timerSoundUri, AudioManager.STREAM_SYSTEM, PICK_AUDIO_FILE_INTENT_ID, onAlarmPicked = {
|
||||
if (it != null) {
|
||||
updateAlarmSound(it)
|
||||
}
|
||||
}, onAlarmSoundDeleted = {
|
||||
if (config.timerSoundUri == it.uri) {
|
||||
val defaultAlarm = AlarmSound(0, context.getDefaultAlarmTitle(), context.getDefaultAlarmUri().toString())
|
||||
val defaultAlarm = AlarmSound(0, context.getDefaultAlarmTitle(getString(R.string.alarm)), context.getDefaultAlarmUri().toString())
|
||||
updateAlarmSound(defaultAlarm)
|
||||
}
|
||||
context.checkAlarmsWithDeletedSoundUri(it.uri)
|
||||
|
@ -1,8 +1,9 @@
|
||||
package com.simplemobiletools.clock.helpers
|
||||
|
||||
import android.content.Context
|
||||
import com.simplemobiletools.clock.extensions.getDefaultAlarmTitle
|
||||
import com.simplemobiletools.clock.extensions.getDefaultAlarmUri
|
||||
import com.simplemobiletools.clock.R
|
||||
import com.simplemobiletools.commons.extensions.getDefaultAlarmTitle
|
||||
import com.simplemobiletools.commons.extensions.getDefaultAlarmUri
|
||||
import com.simplemobiletools.commons.helpers.BaseConfig
|
||||
|
||||
class Config(context: Context) : BaseConfig(context) {
|
||||
@ -35,7 +36,7 @@ class Config(context: Context) : BaseConfig(context) {
|
||||
set(timerSoundUri) = prefs.edit().putString(TIMER_SOUND_URI, timerSoundUri).apply()
|
||||
|
||||
var timerSoundTitle: String
|
||||
get() = prefs.getString(TIMER_SOUND_TITLE, context.getDefaultAlarmTitle())
|
||||
get() = prefs.getString(TIMER_SOUND_TITLE, context.getDefaultAlarmTitle(context.getString(R.string.alarm)))
|
||||
set(timerSoundTitle) = prefs.edit().putString(TIMER_SOUND_TITLE, timerSoundTitle).apply()
|
||||
|
||||
var timerMaxReminderSecs: Int
|
||||
@ -49,8 +50,4 @@ class Config(context: Context) : BaseConfig(context) {
|
||||
var useTextShadow: Boolean
|
||||
get() = prefs.getBoolean(USE_TEXT_SHADOW, true)
|
||||
set(useTextShadow) = prefs.edit().putBoolean(USE_TEXT_SHADOW, useTextShadow).apply()
|
||||
|
||||
var yourAlarmSounds: String
|
||||
get() = prefs.getString(YOUR_ALARM_SOUNDS, "")
|
||||
set(yourAlarmSounds) = prefs.edit().putString(YOUR_ALARM_SOUNDS, yourAlarmSounds).apply()
|
||||
}
|
||||
|
@ -14,7 +14,6 @@ const val TIMER_SOUND_TITLE = "timer_sound_title"
|
||||
const val TIMER_MAX_REMINDER_SECS = "timer_max_reminder_secs"
|
||||
const val ALARM_MAX_REMINDER_SECS = "alarm_max_reminder_secs"
|
||||
const val USE_TEXT_SHADOW = "use_text_shadow"
|
||||
const val YOUR_ALARM_SOUNDS = "your_alarm_sounds"
|
||||
|
||||
const val TABS_COUNT = 4
|
||||
const val EDITED_TIME_ZONE_SEPARATOR = ":"
|
||||
|
@ -1,3 +0,0 @@
|
||||
package com.simplemobiletools.clock.models
|
||||
|
||||
data class AlarmSound(val id: Int, var title: String, var uri: String)
|
@ -1,47 +0,0 @@
|
||||
<?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>
|
@ -1,8 +0,0 @@
|
||||
<?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"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingBottom="@dimen/activity_margin"
|
||||
android:paddingTop="@dimen/activity_margin"/>
|
@ -5,7 +5,6 @@
|
||||
<string name="vibrate">Vibration</string>
|
||||
<string name="label">Label</string>
|
||||
<string name="no_days_selected">Keine Tage ausgewählt</string>
|
||||
<string name="alarm">Wecker</string>
|
||||
<string name="timer">Timer</string>
|
||||
<string name="lap">Runde</string>
|
||||
<string name="stopwatch_stopped">Die Stoppuhr wurde angehalten</string>
|
||||
|
@ -5,7 +5,6 @@
|
||||
<string name="vibrate">Vibrer</string>
|
||||
<string name="label">Titre</string>
|
||||
<string name="no_days_selected">Aucun jour choisi !</string>
|
||||
<string name="alarm">Réveil</string>
|
||||
<string name="timer">Minuteur</string>
|
||||
<string name="lap">Tour</string>
|
||||
<string name="stopwatch_stopped">Chronomètre arrêté</string>
|
||||
|
@ -5,7 +5,6 @@
|
||||
<string name="vibrate">Vibriraj</string>
|
||||
<string name="label">Oznaka</string>
|
||||
<string name="no_days_selected">Nije odabran nijedan dan</string>
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="timer">Brojač</string>
|
||||
<string name="lap">Krug</string>
|
||||
<string name="stopwatch_stopped">Štoperica je zaustavljena</string>
|
||||
|
@ -5,7 +5,6 @@
|
||||
<string name="vibrate">Vibruoti</string>
|
||||
<string name="label">Etiketė</string>
|
||||
<string name="no_days_selected">Nepasirinkta nė vienos dienos</string>
|
||||
<string name="alarm">Žadintuvas</string>
|
||||
<string name="timer">Laikmatis</string>
|
||||
<string name="lap">Etapas</string>
|
||||
<string name="stopwatch_stopped">Chronometras buvo sustabdytas</string>
|
||||
|
@ -5,7 +5,6 @@
|
||||
<string name="vibrate">Vibrar</string>
|
||||
<string name="label">Legenda</string>
|
||||
<string name="no_days_selected">Nenhum dia selecionado</string>
|
||||
<string name="alarm">Alarme</string>
|
||||
<string name="timer">Temporizador</string>
|
||||
<string name="lap">Volta</string>
|
||||
<string name="stopwatch_stopped">Cronómetro parado</string>
|
||||
|
@ -5,7 +5,6 @@
|
||||
<string name="vibrate">Vibrovanie</string>
|
||||
<string name="label">Štítok</string>
|
||||
<string name="no_days_selected">Neboli označené žiadne dni</string>
|
||||
<string name="alarm">Budík</string>
|
||||
<string name="timer">Časovač</string>
|
||||
<string name="lap">Okruh</string>
|
||||
<string name="stopwatch_stopped">Stopky boli zastavené</string>
|
||||
|
@ -5,7 +5,6 @@
|
||||
<string name="vibrate">震動</string>
|
||||
<string name="label">標籤</string>
|
||||
<string name="no_days_selected">未選擇哪一天</string>
|
||||
<string name="alarm">鬧鐘</string>
|
||||
<string name="timer">計時器</string>
|
||||
<string name="lap">分段</string>
|
||||
<string name="stopwatch_stopped">碼錶已停止</string>
|
||||
|
@ -5,7 +5,6 @@
|
||||
<string name="vibrate">Vibrate</string>
|
||||
<string name="label">Label</string>
|
||||
<string name="no_days_selected">No days selected</string>
|
||||
<string name="alarm">Alarm</string>
|
||||
<string name="timer">Timer</string>
|
||||
<string name="lap">Lap</string>
|
||||
<string name="stopwatch_stopped">Stopwatch has been stopped</string>
|
||||
|
Loading…
x
Reference in New Issue
Block a user