35 lines
939 B
Kotlin
35 lines
939 B
Kotlin
// viewmodel/PresetViewModel.kt
|
|
package com.example.smartalarm.viewmodels
|
|
|
|
import androidx.lifecycle.LiveData
|
|
import androidx.lifecycle.MutableLiveData
|
|
import androidx.lifecycle.ViewModel
|
|
import com.example.smartalarm.data.model.AlarmPreset
|
|
import com.example.smartalarm.domain.usecase.GetPresetsUseCase
|
|
|
|
class PresetViewModel : ViewModel() {
|
|
|
|
private val getPresetsUseCase = GetPresetsUseCase()
|
|
|
|
private val _presets = MutableLiveData<List<AlarmPreset>>()
|
|
val presets: LiveData<List<AlarmPreset>> = _presets
|
|
|
|
private val _selectedPreset = MutableLiveData<AlarmPreset?>()
|
|
val selectedPreset: LiveData<AlarmPreset?> = _selectedPreset
|
|
|
|
init {
|
|
loadPresets()
|
|
}
|
|
|
|
private fun loadPresets() {
|
|
_presets.value = getPresetsUseCase()
|
|
}
|
|
|
|
fun selectPreset(preset: AlarmPreset) {
|
|
_selectedPreset.value = preset
|
|
}
|
|
|
|
fun clearSelection() {
|
|
_selectedPreset.value = null
|
|
}
|
|
} |