From a618903f0f00e9bd0de359c55ad6d54903211903 Mon Sep 17 00:00:00 2001 From: klaus Date: Mon, 29 Jul 2024 12:17:48 +0900 Subject: [PATCH] =?UTF-8?q?=EC=95=8C=EB=9E=8C=20=EC=9D=BC=ED=9A=8C?= =?UTF-8?q?=EC=84=B1=20=EC=95=8C=EB=9E=8C=EC=9D=98=20=EA=B2=BD=EC=9A=B0=20?= =?UTF-8?q?=EC=95=8C=EB=9E=8C=EC=9D=B4=20=EC=9A=B8=EB=A6=AC=EB=A9=B4=20?= =?UTF-8?q?=EB=82=A0=EC=A7=9C=EB=A5=BC=20=EB=8B=A4=EC=9D=8C=EB=82=A0?= =?UTF-8?q?=EB=A1=9C=20=EB=B3=80=EA=B2=BD=ED=95=98=EA=B3=A0=20isEnable?= =?UTF-8?q?=EC=9D=84=20false=EB=A1=9C=20=EB=B3=80=EA=B2=BD=ED=95=9C?= =?UTF-8?q?=EB=8B=A4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 2 +- .../vividnext/sodalive/mypage/alarm/db/Alarm.kt | 2 +- .../mypage/alarm/receiver/AlarmReceiver.kt | 15 +++++++++++++-- .../mypage/alarm/scheduler/AlarmScheduler.kt | 1 - 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index d576cba..4624b89 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -40,7 +40,7 @@ android { applicationId "kr.co.vividnext.sodalive" minSdk 23 targetSdk 33 - versionCode 87 + versionCode 88 versionName "1.13.2" } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/db/Alarm.kt b/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/db/Alarm.kt index 335e24b..847c87a 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/db/Alarm.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/db/Alarm.kt @@ -7,7 +7,7 @@ import androidx.room.PrimaryKey data class Alarm( @PrimaryKey(autoGenerate = true) val id: Int = 0, val title: String, - val time: Long, + var time: Long, val days: List, val contentId: Long, val contentTitle: String, diff --git a/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/receiver/AlarmReceiver.kt b/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/receiver/AlarmReceiver.kt index ed4c3e6..73976d7 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/receiver/AlarmReceiver.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/receiver/AlarmReceiver.kt @@ -4,7 +4,6 @@ import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import androidx.lifecycle.Observer -import com.orhanobut.logger.Logger import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -14,10 +13,10 @@ import kr.co.vividnext.sodalive.mypage.alarm.AlarmActivity import kr.co.vividnext.sodalive.mypage.alarm.db.Alarm import kr.co.vividnext.sodalive.mypage.alarm.db.AlarmDatabase import kr.co.vividnext.sodalive.mypage.alarm.scheduler.AlarmScheduler +import java.util.Calendar class AlarmReceiver : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { - val alarmId = intent.getIntExtra(Constants.EXTRA_ALARM_ID, -1) if (alarmId > 0) { @@ -36,6 +35,18 @@ class AlarmReceiver : BroadcastReceiver() { val scheduler = AlarmScheduler(context) if (value.days.isNotEmpty()) { scheduler.setAlarm(value) + } else { + scheduler.cancelAlarm(value) + + val calendar = Calendar.getInstance() + calendar.timeInMillis = value.time + calendar.add(Calendar.DAY_OF_YEAR, 1) + + value.time = calendar.timeInMillis + value.isEnabled = false + CoroutineScope(Dispatchers.IO).launch { + alarmDao.updateAlarm(value) + } } alarmLiveData.removeObserver(this) } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/scheduler/AlarmScheduler.kt b/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/scheduler/AlarmScheduler.kt index 045163c..be6b829 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/scheduler/AlarmScheduler.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/mypage/alarm/scheduler/AlarmScheduler.kt @@ -57,7 +57,6 @@ class AlarmScheduler(private val context: Context) { val info = AlarmManager.AlarmClockInfo(calendar.timeInMillis, alarmIntent) alarmManager.setAlarmClock(info, alarmIntent) - } }