mirror of
https://github.com/SimpleMobileTools/Simple-Clock.git
synced 2025-03-05 03:58:58 +01:00
add the default alarm title and uri to new alarms
This commit is contained in:
parent
8018994881
commit
2da39c735f
@ -13,8 +13,8 @@ import com.simplemobiletools.commons.extensions.*
|
||||
import kotlinx.android.synthetic.main.dialog_edit_alarm.view.*
|
||||
|
||||
class EditAlarmDialog(val activity: SimpleActivity, val alarm: Alarm, val callback: () -> Unit) {
|
||||
val view = activity.layoutInflater.inflate(R.layout.dialog_edit_alarm, null)
|
||||
val textColor = activity.config.textColor
|
||||
private val view = activity.layoutInflater.inflate(R.layout.dialog_edit_alarm, null)
|
||||
private val textColor = activity.config.textColor
|
||||
|
||||
init {
|
||||
updateAlarmTime()
|
||||
@ -25,7 +25,7 @@ class EditAlarmDialog(val activity: SimpleActivity, val alarm: Alarm, val callba
|
||||
}
|
||||
|
||||
colorLeftDrawable(edit_alarm_sound)
|
||||
edit_alarm_sound.text = "Default alarm"
|
||||
edit_alarm_sound.text = alarm.soundTitle
|
||||
edit_alarm_sound.setOnClickListener {
|
||||
|
||||
}
|
||||
|
@ -1,8 +1,11 @@
|
||||
package com.simplemobiletools.clock.extensions
|
||||
|
||||
import android.content.Context
|
||||
import android.media.RingtoneManager
|
||||
import android.net.Uri
|
||||
import com.simplemobiletools.clock.R
|
||||
import com.simplemobiletools.clock.helpers.*
|
||||
import com.simplemobiletools.clock.models.Alarm
|
||||
import com.simplemobiletools.clock.models.MyTimeZone
|
||||
import java.util.*
|
||||
|
||||
@ -45,3 +48,24 @@ fun Context.getAllTimeZonesModified(): ArrayList<MyTimeZone> {
|
||||
}
|
||||
|
||||
fun Context.getModifiedTimeZoneTitle(id: Int) = getAllTimeZonesModified().firstOrNull { it.id == id }?.title ?: getDefaultTimeZoneTitle(id)
|
||||
|
||||
fun Context.getAlarms(): Map<String, String> {
|
||||
val manager = RingtoneManager(this)
|
||||
manager.setType(RingtoneManager.TYPE_ALARM)
|
||||
val cursor = manager.cursor
|
||||
|
||||
val alarms = HashMap<String, String>()
|
||||
while (cursor.moveToNext()) {
|
||||
val title = cursor.getString(RingtoneManager.TITLE_COLUMN_INDEX)
|
||||
val uri = Uri.parse("${cursor.getString(RingtoneManager.URI_COLUMN_INDEX)}/${cursor.getString(RingtoneManager.ID_COLUMN_INDEX)}").toString()
|
||||
alarms[title] = uri
|
||||
}
|
||||
|
||||
return alarms
|
||||
}
|
||||
|
||||
private fun getDefaultAlarmUri() = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM)
|
||||
|
||||
private fun getDefaultAlarmTitle(context: Context) = RingtoneManager.getRingtone(context, getDefaultAlarmUri()).getTitle(context)
|
||||
|
||||
fun Context.createNewAlarm(timeInMinutes: Int, weekDays: Int) = Alarm(0, timeInMinutes, weekDays, false, false, getDefaultAlarmTitle(this), getDefaultAlarmUri().toString(), "")
|
||||
|
@ -9,6 +9,7 @@ import com.simplemobiletools.clock.R
|
||||
import com.simplemobiletools.clock.activities.SimpleActivity
|
||||
import com.simplemobiletools.clock.adapters.AlarmsAdapter
|
||||
import com.simplemobiletools.clock.dialogs.EditAlarmDialog
|
||||
import com.simplemobiletools.clock.extensions.createNewAlarm
|
||||
import com.simplemobiletools.clock.extensions.dbHelper
|
||||
import com.simplemobiletools.clock.models.Alarm
|
||||
import com.simplemobiletools.commons.extensions.updateTextColors
|
||||
@ -33,7 +34,7 @@ class AlarmFragment : Fragment() {
|
||||
view.apply {
|
||||
context!!.updateTextColors(alarm_fragment)
|
||||
alarm_fab.setOnClickListener {
|
||||
val newAlarm = Alarm(0, DEFAULT_ALARM_MINUTES, 0, false, false, "", "")
|
||||
val newAlarm = context.createNewAlarm(DEFAULT_ALARM_MINUTES, 0)
|
||||
openEditAlarm(newAlarm)
|
||||
}
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ import android.content.Context
|
||||
import android.database.Cursor
|
||||
import android.database.sqlite.SQLiteDatabase
|
||||
import android.database.sqlite.SQLiteOpenHelper
|
||||
import com.simplemobiletools.clock.extensions.createNewAlarm
|
||||
import com.simplemobiletools.clock.models.Alarm
|
||||
import com.simplemobiletools.commons.extensions.getIntValue
|
||||
import com.simplemobiletools.commons.extensions.getStringValue
|
||||
@ -17,6 +18,7 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
|
||||
private val COL_DAYS = "days"
|
||||
private val COL_IS_ENABLED = "is_enabled"
|
||||
private val COL_VIBRATE = "vibrate"
|
||||
private val COL_SOUND_TITLE = "sound_title"
|
||||
private val COL_SOUND_URI = "sound_uri"
|
||||
private val COL_LABEL = "label"
|
||||
|
||||
@ -37,7 +39,7 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
|
||||
|
||||
override fun onCreate(db: SQLiteDatabase) {
|
||||
db.execSQL("CREATE TABLE $ALARMS_TABLE_NAME ($COL_ID INTEGER PRIMARY KEY AUTOINCREMENT, $COL_TIME_IN_MINUTES INTEGER, $COL_DAYS INTEGER, " +
|
||||
"$COL_IS_ENABLED INTEGER, $COL_VIBRATE INTEGER, $COL_SOUND_URI TEXT, $COL_LABEL TEXT)")
|
||||
"$COL_IS_ENABLED INTEGER, $COL_VIBRATE INTEGER, $COL_SOUND_TITLE TEXT, $COL_SOUND_URI TEXT, $COL_LABEL TEXT)")
|
||||
insertInitialAlarms(db)
|
||||
}
|
||||
|
||||
@ -45,11 +47,11 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
|
||||
|
||||
private fun insertInitialAlarms(db: SQLiteDatabase) {
|
||||
val weekDays = MONDAY_BIT or TUESDAY_BIT or WEDNESDAY_BIT or THURSDAY_BIT or FRIDAY_BIT
|
||||
val weekDaysAlarm = Alarm(0, 420, weekDays, false, false, "", "")
|
||||
val weekDaysAlarm = context.createNewAlarm(420, weekDays)
|
||||
insertAlarm(weekDaysAlarm, db)
|
||||
|
||||
val weekEnd = SATURDAY_BIT or SUNDAY_BIT
|
||||
val weekEndAlarm = Alarm(0, 540, weekEnd, false, false, "", "")
|
||||
val weekEndAlarm = context.createNewAlarm(540, weekEnd)
|
||||
insertAlarm(weekEndAlarm, db)
|
||||
}
|
||||
|
||||
@ -64,6 +66,7 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
|
||||
put(COL_DAYS, alarm.days)
|
||||
put(COL_IS_ENABLED, alarm.isEnabled)
|
||||
put(COL_VIBRATE, alarm.vibrate)
|
||||
put(COL_SOUND_TITLE, alarm.soundTitle)
|
||||
put(COL_SOUND_URI, alarm.soundUri)
|
||||
put(COL_LABEL, alarm.label)
|
||||
}
|
||||
@ -71,7 +74,7 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
|
||||
|
||||
fun getAlarms(): ArrayList<Alarm> {
|
||||
val alarms = ArrayList<Alarm>()
|
||||
val cols = arrayOf(COL_ID, COL_TIME_IN_MINUTES, COL_DAYS, COL_IS_ENABLED, COL_VIBRATE, COL_SOUND_URI, COL_LABEL)
|
||||
val cols = arrayOf(COL_ID, COL_TIME_IN_MINUTES, COL_DAYS, COL_IS_ENABLED, COL_VIBRATE, COL_SOUND_TITLE, COL_SOUND_URI, COL_LABEL)
|
||||
var cursor: Cursor? = null
|
||||
try {
|
||||
cursor = mDb.query(ALARMS_TABLE_NAME, cols, null, null, null, null, null)
|
||||
@ -83,10 +86,11 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
|
||||
val days = cursor.getIntValue(COL_DAYS)
|
||||
val isEnabled = cursor.getIntValue(COL_IS_ENABLED) == 1
|
||||
val vibrate = cursor.getIntValue(COL_VIBRATE) == 1
|
||||
val soundTitle = cursor.getStringValue(COL_SOUND_TITLE)
|
||||
val soundUri = cursor.getStringValue(COL_SOUND_URI)
|
||||
val label = cursor.getStringValue(COL_LABEL)
|
||||
|
||||
val alarm = Alarm(id, timeInMinutes, days, isEnabled, vibrate, soundUri, label)
|
||||
val alarm = Alarm(id, timeInMinutes, days, isEnabled, vibrate, soundTitle, soundUri, label)
|
||||
alarms.add(alarm)
|
||||
} catch (e: Exception) {
|
||||
continue
|
||||
|
@ -1,3 +1,4 @@
|
||||
package com.simplemobiletools.clock.models
|
||||
|
||||
data class Alarm(val id: Int, var timeInMinutes: Int, var days: Int, var isEnabled: Boolean, var vibrate: Boolean, var soundUri: String, var label: String)
|
||||
data class Alarm(val id: Int, var timeInMinutes: Int, var days: Int, var isEnabled: Boolean, var vibrate: Boolean, var soundTitle: String,
|
||||
var soundUri: String, var label: String)
|
||||
|
Loading…
x
Reference in New Issue
Block a user