알람 설정

- 처음 설정시 알람 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" applicationId "kr.co.vividnext.sodalive"
minSdk 23 minSdk 23
targetSdk 33 targetSdk 33
versionCode 90 versionCode 92
versionName "1.14.0" versionName "1.14.1"
} }
buildTypes { buildTypes {

View File

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

View File

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

View File

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