simplifying alarm sorting handling

This commit is contained in:
tibbi
2021-04-19 15:34:52 +02:00
parent 7ff56ac15a
commit f5aef41a6e
8 changed files with 43 additions and 74 deletions

View File

@ -6,7 +6,6 @@ import android.database.Cursor
import android.database.sqlite.SQLiteDatabase
import android.database.sqlite.SQLiteOpenHelper
import android.text.TextUtils
import com.simplemobiletools.clock.models.AlarmSort
import com.simplemobiletools.clock.extensions.cancelAlarmClock
import com.simplemobiletools.clock.extensions.createNewAlarm
import com.simplemobiletools.clock.models.Alarm
@ -43,7 +42,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_TITLE TEXT, $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)
}
@ -107,17 +106,12 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
fun getEnabledAlarms() = getAlarms().filter { it.isEnabled }
fun getAlarms(sort: AlarmSort? = null): ArrayList<Alarm> {
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_TITLE, COL_SOUND_URI, COL_LABEL)
val orderBy = when (sort) {
AlarmSort.CREATED_AT -> "$COL_ID ASC"
AlarmSort.TIME_OF_DAY -> "$COL_TIME_IN_MINUTES ASC"
else -> null
}
var cursor: Cursor? = null
try {
cursor = mDb.query(ALARMS_TABLE_NAME, cols, null, null, null, null, orderBy)
cursor = mDb.query(ALARMS_TABLE_NAME, cols, null, null, null, null, null)
if (cursor?.moveToFirst() == true) {
do {
try {