Skip to content

Commit 1fe5895

Browse files
committed
add recurring inactivity reminder
1 parent 5c2810b commit 1fe5895

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed
Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,20 @@
11
package com.example.util.simpletimetracker.feature_notification.inactivity.controller
22

33
import com.example.util.simpletimetracker.domain.interactor.NotificationInactivityInteractor
4+
import kotlinx.coroutines.GlobalScope
5+
import kotlinx.coroutines.launch
46
import javax.inject.Inject
57

68
class NotificationInactivityBroadcastController @Inject constructor(
7-
private val notificationInactivityInteractor: NotificationInactivityInteractor
9+
private val notificationInactivityInteractor: NotificationInactivityInteractor,
810
) {
911

10-
fun onInactivityReminder() {
12+
fun onInactivityReminder() = GlobalScope.launch {
1113
notificationInactivityInteractor.show()
14+
notificationInactivityInteractor.checkAndSchedule()
1215
}
1316

14-
fun onBootCompleted() {
15-
// TODO reschedule inactivity reminder
17+
fun onBootCompleted() = GlobalScope.launch {
18+
notificationInactivityInteractor.checkAndSchedule()
1619
}
1720
}

features/feature_notification/src/main/java/com/example/util/simpletimetracker/feature_notification/inactivity/interactor/NotificationInactivityInteractorImpl.kt

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,15 @@ class NotificationInactivityInteractorImpl @Inject constructor(
1414
private val manager: NotificationInactivityManager,
1515
private val scheduler: NotificationInactivityScheduler,
1616
private val prefsInteractor: PrefsInteractor,
17-
private val runningRecordInteractor: RunningRecordInteractor
17+
private val runningRecordInteractor: RunningRecordInteractor,
1818
) : NotificationInactivityInteractor {
1919

2020
override suspend fun checkAndSchedule() {
21-
if (runningRecordInteractor.getAll().isEmpty()) {
22-
prefsInteractor.getInactivityReminderDuration()
23-
.takeIf { it > 0 }
24-
?.let { it * 1000L }
25-
?.let(scheduler::schedule)
26-
}
21+
prefsInteractor.getInactivityReminderDuration()
22+
.takeIf { it > 0 }
23+
?.takeIf { runningRecordInteractor.getAll().isEmpty() }
24+
?.let { it * 1000L }
25+
?.let(scheduler::schedule)
2726
}
2827

2928
override fun cancel() {

0 commit comments

Comments
 (0)