알람 설정

- 처음 설정시 알람 id값을 받아오지 않아 알람이 울리지 않던 버그 id값을 받아오도록 수정
This commit is contained in:
klaus 2024-07-31 22:08:31 +09:00
parent ee6090c103
commit 2ba2014f82
4 changed files with 15 additions and 11 deletions

View File

@ -40,8 +40,8 @@ android {
applicationId "kr.co.vividnext.sodalive"
minSdk 23
targetSdk 33
versionCode 90
versionName "1.14.0"
versionCode 92
versionName "1.14.1"
}
buildTypes {

View File

@ -1,19 +1,17 @@
package kr.co.vividnext.sodalive.mypage.alarm
import android.content.Context
import androidx.lifecycle.LiveData
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import kr.co.vividnext.sodalive.mypage.alarm.db.Alarm
import kr.co.vividnext.sodalive.mypage.alarm.db.AlarmDao
import kr.co.vividnext.sodalive.mypage.alarm.db.AlarmDatabase
class AlarmRepository(private val alarmDao: AlarmDao) {
val allAlarms = alarmDao.getAllAlarms()
suspend fun insert(alarm: Alarm) {
withContext(Dispatchers.IO) {
alarmDao.insertAlarm(alarm)
suspend fun insert(alarm: Alarm): Alarm {
return withContext(Dispatchers.IO) {
alarmDao.insertAndReturnAlarm(alarm)
}
}

View File

@ -23,9 +23,9 @@ class AlarmViewModel(application: Application) : AndroidViewModel(application) {
var allAlarms = repository.allAlarms.asLiveData()
fun insert(alarm: Alarm) = viewModelScope.launch {
repository.insert(alarm)
if (alarm.isEnabled) {
scheduler.setAlarm(alarm)
val insertedUser = repository.insert(alarm)
if (insertedUser.isEnabled) {
scheduler.setAlarm(insertedUser)
}
}

View File

@ -25,7 +25,7 @@ interface AlarmDao {
fun resetAutoIncrement()
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insertAlarm(alarm: Alarm)
fun insertAlarm(alarm: Alarm): Long
@Update
fun updateAlarm(alarm: Alarm)
@ -33,6 +33,12 @@ interface AlarmDao {
@Delete
fun deleteAlarm(alarm: Alarm)
@Transaction
fun insertAndReturnAlarm(alarm: Alarm): Alarm {
val id = insertAlarm(alarm)
return alarm.copy(id = id.toInt())
}
@Transaction
fun truncateTable() {
deleteAllAlarms()