From 0f011ebbfc2079b5edfbf42c124933c71c6e71a7 Mon Sep 17 00:00:00 2001 From: dongchyeon Date: Mon, 27 Oct 2025 23:30:14 +0900 Subject: [PATCH 1/2] =?UTF-8?q?[REFACTOR/#264]=20=EB=8D=94=20=EC=A0=95?= =?UTF-8?q?=ED=99=95=ED=95=9C=20=EC=95=8C=EB=9E=8C=20=EC=8B=9C=EA=B0=84?= =?UTF-8?q?=EC=9D=84=20=EC=9C=84=ED=95=B4=20setAlarmClock=20=EC=82=AC?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yapp/alarm/AndroidAlarmScheduler.kt | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/core/alarm/src/main/java/com/yapp/alarm/AndroidAlarmScheduler.kt b/core/alarm/src/main/java/com/yapp/alarm/AndroidAlarmScheduler.kt index 49c4581a..9cbac428 100644 --- a/core/alarm/src/main/java/com/yapp/alarm/AndroidAlarmScheduler.kt +++ b/core/alarm/src/main/java/com/yapp/alarm/AndroidAlarmScheduler.kt @@ -42,9 +42,11 @@ class AndroidAlarmScheduler @Inject constructor( val triggerMillis = alarmTimeCalculator.calculateNextRepeatingTimeMillis(alarm, day) val pendingIntent = createAlarmReceiverPendingIntentForSchedule(app, alarm, day) logSchedule("REPEAT", alarm, triggerMillis, "day=$day") - alarmManager.setExactAndAllowWhileIdle( - AlarmManager.RTC_WAKEUP, - triggerMillis, + alarmManager.setAlarmClock( + AlarmManager.AlarmClockInfo( + triggerMillis, + pendingIntent, + ), pendingIntent, ) } @@ -53,9 +55,11 @@ class AndroidAlarmScheduler @Inject constructor( val triggerMillis = alarmTimeCalculator.calculateNonRepeatingTimeMillis(alarm) val pendingIntent = createAlarmReceiverPendingIntentForSchedule(app, alarm) logSchedule("NON_REPEAT", alarm, triggerMillis) - alarmManager.setExactAndAllowWhileIdle( - AlarmManager.RTC_WAKEUP, - triggerMillis, + alarmManager.setAlarmClock( + AlarmManager.AlarmClockInfo( + triggerMillis, + pendingIntent, + ), pendingIntent, ) } @@ -64,9 +68,11 @@ class AndroidAlarmScheduler @Inject constructor( val triggerMillis = alarmTimeCalculator.calculateNextWeeklyRescheduledTimeMillis(alarm, day) val pendingIntent = createAlarmReceiverPendingIntentForSchedule(app, alarm, day) logSchedule("RESCHEDULE_WEEKLY", alarm, triggerMillis, "day=$day") - alarmManager.setExactAndAllowWhileIdle( - AlarmManager.RTC_WAKEUP, - triggerMillis, + alarmManager.setAlarmClock( + AlarmManager.AlarmClockInfo( + triggerMillis, + pendingIntent, + ), pendingIntent, ) } From 3a7106b1ca348005a7ec818af44a0630eec98865 Mon Sep 17 00:00:00 2001 From: dongchyeon Date: Tue, 28 Oct 2025 00:21:14 +0900 Subject: [PATCH 2/2] =?UTF-8?q?[FEAT/#246]=20=EC=95=8C=EB=A6=BC=20?= =?UTF-8?q?=ED=81=B4=EB=A6=AD=20=EC=8B=9C=20=EB=A9=94=EC=9D=B8=20=ED=99=94?= =?UTF-8?q?=EB=A9=B4=EC=9C=BC=EB=A1=9C=20=EC=9D=B4=EB=8F=99=ED=95=98?= =?UTF-8?q?=EB=8A=94=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yapp/alarm/AndroidAlarmScheduler.kt | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/core/alarm/src/main/java/com/yapp/alarm/AndroidAlarmScheduler.kt b/core/alarm/src/main/java/com/yapp/alarm/AndroidAlarmScheduler.kt index 9cbac428..89772cc8 100644 --- a/core/alarm/src/main/java/com/yapp/alarm/AndroidAlarmScheduler.kt +++ b/core/alarm/src/main/java/com/yapp/alarm/AndroidAlarmScheduler.kt @@ -2,6 +2,8 @@ package com.yapp.alarm import android.app.AlarmManager import android.app.Application +import android.app.PendingIntent +import android.content.Intent import android.util.Log import com.yapp.alarm.pendingIntent.schedule.createAlarmReceiverPendingIntentForSchedule import com.yapp.alarm.pendingIntent.schedule.createAlarmReceiverPendingIntentForUnSchedule @@ -26,6 +28,23 @@ class AndroidAlarmScheduler @Inject constructor( ) } + private fun createShowMainActivityPendingIntent(): PendingIntent { + val intent = Intent().apply { + setClassName( + app.packageName, + "com.yapp.orbit.MainActivity", + ) + addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK) + } + + return PendingIntent.getActivity( + app, + 0, + intent, + PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT, + ) + } + override fun scheduleAlarm(alarm: Alarm) { val selectedDays = alarm.repeatDays.toAlarmDays() @@ -45,7 +64,7 @@ class AndroidAlarmScheduler @Inject constructor( alarmManager.setAlarmClock( AlarmManager.AlarmClockInfo( triggerMillis, - pendingIntent, + createShowMainActivityPendingIntent(), ), pendingIntent, ) @@ -58,7 +77,7 @@ class AndroidAlarmScheduler @Inject constructor( alarmManager.setAlarmClock( AlarmManager.AlarmClockInfo( triggerMillis, - pendingIntent, + createShowMainActivityPendingIntent(), ), pendingIntent, ) @@ -71,7 +90,7 @@ class AndroidAlarmScheduler @Inject constructor( alarmManager.setAlarmClock( AlarmManager.AlarmClockInfo( triggerMillis, - pendingIntent, + createShowMainActivityPendingIntent(), ), pendingIntent, )