diff --git a/app/src/main/java/com/todoroo/astrid/ui/ReminderControlSet.kt b/app/src/main/java/com/todoroo/astrid/ui/ReminderControlSet.kt index 916acbabe..3730d1ad2 100644 --- a/app/src/main/java/com/todoroo/astrid/ui/ReminderControlSet.kt +++ b/app/src/main/java/com/todoroo/astrid/ui/ReminderControlSet.kt @@ -43,11 +43,6 @@ class ReminderControlSet : TaskEditControlFragment() { @Inject lateinit var dialogBuilder: DialogBuilder @Inject lateinit var locale: Locale - data class ViewState( - val showCustomDialog: Boolean = false, - val showRandomDialog: Boolean = false, - ) - private val ringMode = mutableStateOf(0) private val vm: ReminderControlSetViewModel by viewModels() diff --git a/app/src/main/java/com/todoroo/astrid/ui/ReminderControlSetViewModel.kt b/app/src/main/java/com/todoroo/astrid/ui/ReminderControlSetViewModel.kt index c37760c04..72ce9fc9e 100644 --- a/app/src/main/java/com/todoroo/astrid/ui/ReminderControlSetViewModel.kt +++ b/app/src/main/java/com/todoroo/astrid/ui/ReminderControlSetViewModel.kt @@ -6,9 +6,15 @@ import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow class ReminderControlSetViewModel : ViewModel() { - private val _viewState = MutableStateFlow(ReminderControlSet.ViewState()) - val viewState: StateFlow + data class ViewState( + val showCustomDialog: Boolean = false, + val showRandomDialog: Boolean = false, + ) + + private val _viewState = MutableStateFlow(ViewState()) + + val viewState: StateFlow get() = _viewState.asStateFlow() fun showCustomDialog(visible: Boolean) { diff --git a/app/src/main/java/org/tasks/compose/edit/AlarmRow.kt b/app/src/main/java/org/tasks/compose/edit/AlarmRow.kt index 7a44d090c..3591e0f8c 100644 --- a/app/src/main/java/org/tasks/compose/edit/AlarmRow.kt +++ b/app/src/main/java/org/tasks/compose/edit/AlarmRow.kt @@ -21,7 +21,6 @@ import androidx.lifecycle.viewmodel.compose.viewModel import com.google.accompanist.permissions.ExperimentalPermissionsApi import com.google.accompanist.permissions.PermissionStatus import com.google.android.material.composethemeadapter.MdcTheme -import com.todoroo.astrid.ui.ReminderControlSet import com.todoroo.astrid.ui.ReminderControlSetViewModel import org.tasks.R import org.tasks.compose.AddReminderDialog @@ -49,9 +48,7 @@ fun AlarmRow( TaskEditRow( iconRes = R.drawable.ic_outline_notifications_24px, content = { - val viewState = vm.viewState.collectAsStateLifecycleAware() - val current: ReminderControlSet.ViewState = viewState.value - + val viewState = vm.viewState.collectAsStateLifecycleAware().value when (permissionStatus) { PermissionStatus.Granted -> { Alarms( @@ -87,13 +84,13 @@ fun AlarmRow( } AddReminderDialog.AddCustomReminderDialog( - openDialog = current.showCustomDialog, + openDialog = viewState.showCustomDialog, addAlarm = addAlarm, closeDialog = { vm.showCustomDialog(visible = false) } ) AddReminderDialog.AddRandomReminderDialog( - openDialog = current.showRandomDialog, + openDialog = viewState.showRandomDialog, addAlarm = addAlarm, closeDialog = { vm.showRandomDialog(visible = false) } )