Skip to content

Commit 88b805b

Browse files
committed
feat : Worker 알람 끄면서 삭제
1 parent c81c78f commit 88b805b

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

presentation/src/main/java/com/stop/ui/alarmsetting/AlarmSettingViewModel.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import kotlinx.coroutines.flow.MutableStateFlow
2121
import kotlinx.coroutines.flow.StateFlow
2222
import kotlinx.coroutines.flow.collectLatest
2323
import kotlinx.coroutines.launch
24+
import java.util.UUID
2425
import javax.inject.Inject
2526

2627
@HiltViewModel
@@ -41,6 +42,8 @@ class AlarmSettingViewModel @Inject constructor(
4142
private val _isAlarmItemNotNull = MutableStateFlow(false)
4243
val isAlarmItemNotNull: StateFlow<Boolean> = _isAlarmItemNotNull
4344

45+
private lateinit var workerId : UUID
46+
4447
fun saveAlarm(alarmUseCaseItem: AlarmUseCaseItem) {
4548
viewModelScope.launch(Dispatchers.IO) {
4649
saveAlarmUseCase.saveAlarm(alarmUseCaseItem.copy(alarmTime = alarmTime.value ?: 0, alarmMethod = alarmMethod))
@@ -80,8 +83,13 @@ class AlarmSettingViewModel @Inject constructor(
8083
val workRequest = OneTimeWorkRequestBuilder<LastTimeCheckWorker>()
8184
.setInputData(workData)
8285
.build()
86+
workerId = workRequest.id
8387

8488
workManager.enqueue(workRequest)
8589
}
8690

91+
fun removeAlarmWorker(){
92+
workManager.cancelWorkById(workerId)
93+
}
94+
8795
}

presentation/src/main/java/com/stop/ui/alarmstart/AlarmStartFragment.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,15 @@ class AlarmStartFragment : Fragment() {
5454
buttonAlarmTurnOff.setOnClickListener {
5555
turnOffSoundService()
5656
alarmSettingViewModel.deleteAlarm()
57+
alarmSettingViewModel.removeAlarmWorker()
5758
requireActivity().finish()
5859
}
5960

6061
textViewMissionStart.setOnClickListener {
6162
turnOffSoundService()
6263
root.findNavController().navigate(R.id.action_alarmStartFragment_to_missionFragment)
6364
alarmSettingViewModel.deleteAlarm()
65+
alarmSettingViewModel.removeAlarmWorker()
6466
}
6567
}
6668
}

0 commit comments

Comments
 (0)