Эх сурвалжийг харах

UI Fixes

Signed-off-by: alperozturk <alper_ozturk@proton.me>
alperozturk 1 жил өмнө
parent
commit
22c3c3442d

+ 8 - 2
app/src/main/java/com/nextcloud/client/assistant/AssistantViewModel.kt

@@ -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 {

+ 38 - 21
app/src/main/java/com/nextcloud/client/assistant/AsssistantScreen.kt

@@ -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(

+ 4 - 1
app/src/main/res/values/strings.xml

@@ -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>