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