Signed-off-by: alperozturk <alper_ozturk@proton.me>
This commit is contained in:
alperozturk 2024-02-29 15:36:58 +01:00 committed by Alper Öztürk
parent 3fc5f426fa
commit 22c3c3442d
3 changed files with 50 additions and 24 deletions

View File

@ -51,8 +51,8 @@ class AssistantViewModel(client: NextcloudClient) : ViewModel() {
private val _loading = MutableStateFlow(true)
val loading: StateFlow<Boolean> = _loading
private val _isTaskCreated = MutableStateFlow(false)
val isTaskCreated: StateFlow<Boolean> = _isTaskCreated
private val _isTaskCreated = MutableStateFlow<Boolean?>(null)
val isTaskCreated: StateFlow<Boolean?> = _isTaskCreated
private val _isTaskDeleted = MutableStateFlow<Boolean?>(null)
val isTaskDeleted: StateFlow<Boolean?> = _isTaskDeleted
@ -132,6 +132,12 @@ class AssistantViewModel(client: NextcloudClient) : ViewModel() {
}
}
fun resetTaskAddState() {
_isTaskCreated.update {
null
}
}
private fun filterTaskList(taskTypeId: String?) {
if (taskTypeId == null) {
_filteredTaskList.update {

View File

@ -135,27 +135,8 @@ fun AssistantScreen(viewModel: AssistantViewModel) {
}
}
if (isTaskCreated) {
DisplayUtils.showSnackMessage(
activity,
stringResource(id = R.string.assistant_screen_task_create_success_message)
)
}
isTaskDeleted?.let {
val messageId = if (it) {
R.string.assistant_screen_task_create_success_message
} else {
R.string.assistant_screen_task_delete_success_message
}
DisplayUtils.showSnackMessage(
activity,
stringResource(id = messageId)
)
viewModel.resetTaskDeletionState()
}
checkTaskAdd(isTaskCreated, activity, viewModel)
checkTaskDeletion(isTaskDeleted, activity, viewModel)
if (showDeleteTaskAlertDialog) {
taskIdToDeleted?.let { id ->
@ -179,6 +160,42 @@ fun AssistantScreen(viewModel: AssistantViewModel) {
}
}
@Composable
private fun checkTaskAdd(isTaskCreated: Boolean?, activity: Activity, viewModel: AssistantViewModel) {
isTaskCreated?.let {
val messageId = if (it) {
R.string.assistant_screen_task_create_success_message
} else {
R.string.assistant_screen_task_create_fail_message
}
DisplayUtils.showSnackMessage(
activity,
stringResource(id = messageId)
)
viewModel.resetTaskAddState()
}
}
@Composable
private fun checkTaskDeletion(isTaskDeleted: Boolean?, activity: Activity, viewModel: AssistantViewModel) {
isTaskDeleted?.let {
val messageId = if (it) {
R.string.assistant_screen_task_delete_success_message
} else {
R.string.assistant_screen_task_delete_fail_message
}
DisplayUtils.showSnackMessage(
activity,
stringResource(id = messageId)
)
viewModel.resetTaskDeletionState()
}
}
@OptIn(ExperimentalFoundationApi::class)
@Composable
private fun AssistantContent(

View File

@ -29,8 +29,11 @@
<string name="assistant_screen_task_more_actions_bottom_sheet_delete_action">Delete Task</string>
<string name="assistant_screen_task_create_success_message">Task successfully created</string>
<string name="assistant_screen_task_create_fail_message">An error occurred while creating the task</string>
<string name="assistant_screen_task_delete_success_message">An error occurred while deleting the task</string>
<string name="assistant_screen_task_delete_fail_message">TS</string>
<string name="assistant_screen_task_delete_fail_message">Task successfully deleted</string>
<string name="assistant_screen_create_task_alert_dialog_input_field_placeholder">Type some text</string>
<string name="assistant_screen_task_view_input">Input: </string>