From 2ba2014f827b9aede15e13ff44af39d4fc5d30c2 Mon Sep 17 00:00:00 2001 From: klaus Date: Wed, 31 Jul 2024 22:08:31 +0900 Subject: [PATCH] =?UTF-8?q?=EC=95=8C=EB=9E=8C=20=EC=84=A4=EC=A0=95=20-=20?= =?UTF-8?q?=EC=B2=98=EC=9D=8C=20=EC=84=A4=EC=A0=95=EC=8B=9C=20=EC=95=8C?= =?UTF-8?q?=EB=9E=8C=20id=EA=B0=92=EC=9D=84=20=EB=B0=9B=EC=95=84=EC=98=A4?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EC=95=84=20=EC=95=8C=EB=9E=8C=EC=9D=B4=20?= =?UTF-8?q?=EC=9A=B8=EB=A6=AC=EC=A7=80=20=EC=95=8A=EB=8D=98=20=EB=B2=84?= =?UTF-8?q?=EA=B7=B8=20id=EA=B0=92=EC=9D=84=20=EB=B0=9B=EC=95=84=EC=98=A4?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 ++-- .../co/vividnext/sodalive/mypage/alarm/AlarmRepository.kt | 8 +++----- .../co/vividnext/sodalive/mypage/alarm/AlarmViewModel.kt | 6 +++--- .../kr/co/vividnext/sodalive/mypage/alarm/db/AlarmDao.kt | 8 +++++++- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 6a3f9b0..a1bb9c2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -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 { diff --git a/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/AlarmRepository.kt b/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/AlarmRepository.kt index 62ee4a7..eb77188 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/AlarmRepository.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/AlarmRepository.kt @@ -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) } } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/AlarmViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/AlarmViewModel.kt index 5c83b4b..77ee5b5 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/AlarmViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/AlarmViewModel.kt @@ -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) } } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/db/AlarmDao.kt b/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/db/AlarmDao.kt index ebf57d0..4879bc6 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/db/AlarmDao.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/db/AlarmDao.kt @@ -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()