알람 설정
- 처음 설정시 알람 id값을 받아오지 않아 알람이 울리지 않던 버그 id값을 받아오도록 수정
This commit is contained in:
parent
ee6090c103
commit
2ba2014f82
|
@ -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 {
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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()
|
||||
|
|
Loading…
Reference in New Issue