Browse Source

Merge pull request #12791 from nextcloud/feature/status-for-assistant-by-alper

Add Status for Assistant Tasks
Tobias Kaminsky 1 year ago
parent
commit
1caf721474
38 changed files with 151 additions and 85 deletions
  1. 26 11
      app/src/main/java/com/nextcloud/client/assistant/AssistantViewModel.kt
  2. 12 3
      app/src/main/java/com/nextcloud/client/assistant/AsssistantScreen.kt
  3. 39 13
      app/src/main/java/com/nextcloud/client/assistant/component/TaskView.kt
  4. 37 0
      app/src/main/java/com/nextcloud/client/assistant/extensions/TaskExtensions.kt
  5. 3 1
      app/src/main/java/com/nextcloud/ui/composeActivity/ComposeActivity.kt
  6. 9 0
      app/src/main/res/drawable/ic_expand_less.xml
  7. 0 0
      app/src/main/res/drawable/ic_expand_more.xml
  8. 9 0
      app/src/main/res/drawable/ic_info.xml
  9. 9 0
      app/src/main/res/drawable/ic_unknown.xml
  10. 1 1
      app/src/main/res/layout/toolbar_standard.xml
  11. 0 2
      app/src/main/res/values-bg-rBG/strings.xml
  12. 0 2
      app/src/main/res/values-ca/strings.xml
  13. 0 2
      app/src/main/res/values-cs-rCZ/strings.xml
  14. 0 2
      app/src/main/res/values-el/strings.xml
  15. 0 2
      app/src/main/res/values-eo/strings.xml
  16. 0 2
      app/src/main/res/values-es-rEC/strings.xml
  17. 0 2
      app/src/main/res/values-es/strings.xml
  18. 0 2
      app/src/main/res/values-eu/strings.xml
  19. 0 2
      app/src/main/res/values-fa/strings.xml
  20. 0 2
      app/src/main/res/values-gl/strings.xml
  21. 0 2
      app/src/main/res/values-hr/strings.xml
  22. 0 2
      app/src/main/res/values-hu-rHU/strings.xml
  23. 0 2
      app/src/main/res/values-it/strings.xml
  24. 0 2
      app/src/main/res/values-iw/strings.xml
  25. 0 2
      app/src/main/res/values-ja-rJP/strings.xml
  26. 0 2
      app/src/main/res/values-ka/strings.xml
  27. 0 2
      app/src/main/res/values-ko/strings.xml
  28. 0 2
      app/src/main/res/values-lt-rLT/strings.xml
  29. 0 2
      app/src/main/res/values-mk/strings.xml
  30. 0 2
      app/src/main/res/values-pl/strings.xml
  31. 0 2
      app/src/main/res/values-ru/strings.xml
  32. 0 2
      app/src/main/res/values-sc/strings.xml
  33. 0 2
      app/src/main/res/values-sl/strings.xml
  34. 0 2
      app/src/main/res/values-tr/strings.xml
  35. 0 2
      app/src/main/res/values-zh-rCN/strings.xml
  36. 0 2
      app/src/main/res/values-zh-rHK/strings.xml
  37. 0 2
      app/src/main/res/values-zh-rTW/strings.xml
  38. 6 2
      app/src/main/res/values/strings.xml

+ 26 - 11
app/src/main/java/com/nextcloud/client/assistant/AssistantViewModel.kt

@@ -7,20 +7,25 @@
  */
 package com.nextcloud.client.assistant
 
+import android.content.Context
 import androidx.lifecycle.ViewModel
 import androidx.lifecycle.viewModelScope
 import com.nextcloud.client.assistant.repository.AssistantRepositoryType
-import com.owncloud.android.MainApp
 import com.owncloud.android.R
 import com.owncloud.android.lib.resources.assistant.model.Task
 import com.owncloud.android.lib.resources.assistant.model.TaskType
 import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.delay
 import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.StateFlow
 import kotlinx.coroutines.flow.update
 import kotlinx.coroutines.launch
+import java.lang.ref.WeakReference
 
-class AssistantViewModel(private val repository: AssistantRepositoryType) : ViewModel() {
+class AssistantViewModel(
+    private val repository: AssistantRepositoryType,
+    private val context: WeakReference<Context>
+) : ViewModel() {
 
     sealed class State {
         data object Idle : State()
@@ -45,10 +50,11 @@ class AssistantViewModel(private val repository: AssistantRepositoryType) : View
     val filteredTaskList: StateFlow<List<Task>?> = _filteredTaskList
 
     init {
-        getTaskTypes()
-        getTaskList()
+        fetchTaskTypes()
+        fetchTaskList()
     }
 
+    @Suppress("MagicNumber")
     fun createTask(
         input: String,
         type: String
@@ -65,6 +71,9 @@ class AssistantViewModel(private val repository: AssistantRepositoryType) : View
             _state.update {
                 State.TaskCreated(messageId)
             }
+
+            delay(2000L)
+            fetchTaskList()
         }
     }
 
@@ -75,21 +84,21 @@ class AssistantViewModel(private val repository: AssistantRepositoryType) : View
         }
     }
 
-    private fun getTaskTypes() {
+    private fun fetchTaskTypes() {
         viewModelScope.launch(Dispatchers.IO) {
-            val allTaskType = MainApp.getAppContext().getString(R.string.assistant_screen_all_task_type)
+            val allTaskType = context.get()?.getString(R.string.assistant_screen_all_task_type)
+            val excludedIds = listOf("OCA\\ContextChat\\TextProcessing\\ContextChatTaskType")
             val result = arrayListOf(TaskType(null, allTaskType, null))
             val taskTypesResult = repository.getTaskTypes()
 
             if (taskTypesResult.isSuccess) {
-                result.addAll(taskTypesResult.resultData.types)
+                val excludedTaskTypes = taskTypesResult.resultData.types.filter { item -> item.id !in excludedIds }
+                result.addAll(excludedTaskTypes)
                 _taskTypes.update {
                     result.toList()
                 }
 
-                _selectedTaskType.update {
-                    result.first()
-                }
+                selectTaskType(result.first())
             } else {
                 _state.update {
                     State.Error(R.string.assistant_screen_task_types_error_state_message)
@@ -98,7 +107,7 @@ class AssistantViewModel(private val repository: AssistantRepositoryType) : View
         }
     }
 
-    fun getTaskList(appId: String = "assistant", onCompleted: () -> Unit = {}) {
+    fun fetchTaskList(appId: String = "assistant", onCompleted: () -> Unit = {}) {
         viewModelScope.launch(Dispatchers.IO) {
             val result = repository.getTaskList(appId)
             if (result.isSuccess) {
@@ -155,6 +164,12 @@ class AssistantViewModel(private val repository: AssistantRepositoryType) : View
                 _taskList?.filter { it.type == taskTypeId }
             }
         }
+
+        _filteredTaskList.update {
+            it?.sortedByDescending { task ->
+                task.id
+            }
+        }
     }
 
     private fun removeTaskFromList(id: Long) {

+ 12 - 3
app/src/main/java/com/nextcloud/client/assistant/AsssistantScreen.kt

@@ -36,6 +36,7 @@ import androidx.compose.runtime.setValue
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.input.nestedscroll.nestedScroll
+import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
 import androidx.compose.ui.tooling.preview.Preview
 import androidx.compose.ui.unit.dp
@@ -51,6 +52,7 @@ import com.owncloud.android.lib.resources.assistant.model.Task
 import com.owncloud.android.lib.resources.assistant.model.TaskType
 import com.owncloud.android.utils.DisplayUtils
 import kotlinx.coroutines.delay
+import java.lang.ref.WeakReference
 
 @Suppress("LongMethod")
 @OptIn(ExperimentalMaterial3Api::class)
@@ -71,7 +73,7 @@ fun AssistantScreen(viewModel: AssistantViewModel, activity: Activity) {
     if (pullRefreshState.isRefreshing) {
         LaunchedEffect(true) {
             delay(1500)
-            viewModel.getTaskList(onCompleted = {
+            viewModel.fetchTaskList(onCompleted = {
                 pullRefreshState.endRefresh()
             })
         }
@@ -166,6 +168,7 @@ private fun ScreenState(
         is AssistantViewModel.State.TaskDeleted -> {
             state.messageId
         }
+
         else -> {
             null
         }
@@ -243,7 +246,10 @@ private fun AssistantScreenPreview() {
     MaterialTheme(
         content = {
             AssistantScreen(
-                viewModel = AssistantViewModel(repository = mockRepository),
+                viewModel = AssistantViewModel(
+                    repository = mockRepository,
+                    context = WeakReference(LocalContext.current)
+                ),
                 activity = ComposeActivity()
             )
         }
@@ -257,7 +263,10 @@ private fun AssistantEmptyScreenPreview() {
     MaterialTheme(
         content = {
             AssistantScreen(
-                viewModel = AssistantViewModel(repository = mockRepository),
+                viewModel = AssistantViewModel(
+                    repository = mockRepository,
+                    context = WeakReference(LocalContext.current)
+                ),
                 activity = ComposeActivity()
             )
         }

+ 39 - 13
app/src/main/java/com/nextcloud/client/assistant/component/TaskView.kt

@@ -11,13 +11,17 @@ import androidx.compose.animation.animateContentSize
 import androidx.compose.animation.core.Spring
 import androidx.compose.animation.core.spring
 import androidx.compose.foundation.ExperimentalFoundationApi
+import androidx.compose.foundation.Image
 import androidx.compose.foundation.background
 import androidx.compose.foundation.combinedClickable
 import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
 import androidx.compose.foundation.layout.Spacer
 import androidx.compose.foundation.layout.fillMaxWidth
 import androidx.compose.foundation.layout.height
 import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.layout.width
 import androidx.compose.foundation.shape.RoundedCornerShape
 import androidx.compose.material3.HorizontalDivider
 import androidx.compose.material3.MaterialTheme
@@ -27,14 +31,17 @@ import androidx.compose.runtime.getValue
 import androidx.compose.runtime.mutableStateOf
 import androidx.compose.runtime.remember
 import androidx.compose.runtime.setValue
+import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.draw.clip
 import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.ColorFilter
+import androidx.compose.ui.res.painterResource
 import androidx.compose.ui.res.stringResource
-import androidx.compose.ui.text.style.TextAlign
 import androidx.compose.ui.tooling.preview.Preview
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.unit.sp
+import com.nextcloud.client.assistant.extensions.statusData
 import com.nextcloud.ui.composeComponents.bottomSheet.MoreActionsBottomSheet
 import com.owncloud.android.R
 import com.owncloud.android.lib.resources.assistant.model.Task
@@ -90,19 +97,38 @@ fun TaskView(
             )
         }
 
-        if ((task.output?.length ?: 0) >= 100) {
-            Text(
-                text = if (!expanded) {
-                    stringResource(id = R.string.assistant_screen_task_view_show_more)
-                } else {
-                    stringResource(id = R.string.assistant_screen_task_view_show_less)
-                },
-                textAlign = TextAlign.End,
-                color = Color.White,
-                modifier = Modifier
-                    .fillMaxWidth()
-                    .padding(16.dp)
+        Row(
+            modifier = Modifier
+                .fillMaxWidth()
+                .padding(vertical = 16.dp),
+            verticalAlignment = Alignment.CenterVertically
+        ) {
+            val (iconId, descriptionId) = task.statusData()
+
+            Image(
+                painter = painterResource(id = iconId),
+                modifier = Modifier.size(16.dp),
+                colorFilter = ColorFilter.tint(Color.White),
+                contentDescription = "status icon"
             )
+
+            Spacer(modifier = Modifier.width(6.dp))
+
+            Text(text = stringResource(id = descriptionId), color = Color.White)
+
+            Spacer(modifier = Modifier.weight(1f))
+
+            if ((task.output?.length ?: 0) >= 100) {
+                Image(
+                    painter = painterResource(
+                        id = if (!expanded) R.drawable.ic_expand_more else R.drawable.ic_expand_less
+                    ),
+                    contentDescription = "expand content icon",
+                    colorFilter = ColorFilter.tint(Color.White)
+                )
+            }
+
+            Spacer(modifier = Modifier.width(8.dp))
         }
 
         if (showMoreActionsBottomSheet) {

+ 37 - 0
app/src/main/java/com/nextcloud/client/assistant/extensions/TaskExtensions.kt

@@ -0,0 +1,37 @@
+/*
+ * Nextcloud Android client application
+ *
+ * SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud
+ * contributors
+ * SPDX-FileCopyrightText: 2024 Alper Ozturk <alper_ozturk@proton.me>
+ * SPDX-License-Identifier: MIT
+ */
+
+package com.nextcloud.client.assistant.extensions
+
+import com.owncloud.android.R
+import com.owncloud.android.lib.resources.assistant.model.Task
+
+@Suppress("MagicNumber")
+fun Task.statusData(): Pair<Int, Int> {
+    return when (status) {
+        0L -> {
+            Pair(R.drawable.ic_unknown, R.string.assistant_screen_unknown_task_status_text)
+        }
+        1L -> {
+            Pair(R.drawable.ic_clock, R.string.assistant_screen_scheduled_task_status_text)
+        }
+        2L -> {
+            Pair(R.drawable.ic_modification_desc, R.string.assistant_screen_running_task_text)
+        }
+        3L -> {
+            Pair(R.drawable.ic_info, R.string.assistant_screen_successful_task_text)
+        }
+        4L -> {
+            Pair(R.drawable.image_fail, R.string.assistant_screen_failed_task_text)
+        }
+        else -> {
+            Pair(R.drawable.ic_unknown, R.string.assistant_screen_unknown_task_status_text)
+        }
+    }
+}

+ 3 - 1
app/src/main/java/com/nextcloud/ui/composeActivity/ComposeActivity.kt

@@ -31,6 +31,7 @@ import com.owncloud.android.lib.common.utils.Log_OC
 import com.owncloud.android.ui.activity.DrawerActivity
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.withContext
+import java.lang.ref.WeakReference
 
 class ComposeActivity : DrawerActivity() {
 
@@ -98,7 +99,8 @@ class ComposeActivity : DrawerActivity() {
             nextcloudClient?.let { client ->
                 AssistantScreen(
                     viewModel = AssistantViewModel(
-                        repository = AssistantRepository(client)
+                        repository = AssistantRepository(client),
+                        context = WeakReference(this)
                     ),
                     activity = this
                 )

+ 9 - 0
app/src/main/res/drawable/ic_expand_less.xml

@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="960"
+    android:viewportHeight="960">
+  <path
+      android:fillColor="#FF000000"
+      android:pathData="m296,615 l-56,-56 240,-240 240,240 -56,56 -184,-184 -184,184Z"/>
+</vector>

+ 0 - 0
app/src/main/res/drawable/ic_keyboard_arrow_down.xml → app/src/main/res/drawable/ic_expand_more.xml


+ 9 - 0
app/src/main/res/drawable/ic_info.xml

@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="960"
+    android:viewportHeight="960">
+  <path
+      android:fillColor="#FF000000"
+      android:pathData="M440,680h80v-240h-80v240ZM480,360q17,0 28.5,-11.5T520,320q0,-17 -11.5,-28.5T480,280q-17,0 -28.5,11.5T440,320q0,17 11.5,28.5T480,360ZM480,880q-83,0 -156,-31.5T197,763q-54,-54 -85.5,-127T80,480q0,-83 31.5,-156T197,197q54,-54 127,-85.5T480,80q83,0 156,31.5T763,197q54,54 85.5,127T880,480q0,83 -31.5,156T763,763q-54,54 -127,85.5T480,880Z"/>
+</vector>

+ 9 - 0
app/src/main/res/drawable/ic_unknown.xml

@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="960"
+    android:viewportHeight="960">
+  <path
+      android:fillColor="#FF000000"
+      android:pathData="M478,720q21,0 35.5,-14.5T528,670q0,-21 -14.5,-35.5T478,620q-21,0 -35.5,14.5T428,670q0,21 14.5,35.5T478,720ZM442,566h74q0,-33 7.5,-52t42.5,-52q26,-26 41,-49.5t15,-56.5q0,-56 -41,-86t-97,-30q-57,0 -92.5,30T342,342l66,26q5,-18 22.5,-39t53.5,-21q32,0 48,17.5t16,38.5q0,20 -12,37.5T506,434q-44,39 -54,59t-10,73ZM480,880q-83,0 -156,-31.5T197,763q-54,-54 -85.5,-127T80,480q0,-83 31.5,-156T197,197q54,-54 127,-85.5T480,80q83,0 156,31.5T763,197q54,54 85.5,127T880,480q0,83 -31.5,156T763,763q-54,54 -127,85.5T480,880Z"/>
+</vector>

+ 1 - 1
app/src/main/res/layout/toolbar_standard.xml

@@ -56,7 +56,7 @@
                 android:textAllCaps="false"
                 android:textColor="@color/fontAppbar"
                 android:textSize="14sp"
-                app:icon="@drawable/ic_keyboard_arrow_down"
+                app:icon="@drawable/ic_expand_more"
                 app:iconGravity="textEnd"
                 app:iconSize="16dp"
                 app:iconTint="@color/fontAppbar"

+ 0 - 2
app/src/main/res/values-bg-rBG/strings.xml

@@ -37,8 +37,6 @@
     <string name="appbar_search_in">Търсене в %s</string>
     <string name="assistant_screen_all_task_type">Всички</string>
     <string name="assistant_screen_task_delete_fail_message">Задачата е успешно изтрита</string>
-    <string name="assistant_screen_task_view_show_less">Покажи по-малко</string>
-    <string name="assistant_screen_task_view_show_more">Покажи повече</string>
     <string name="associated_account_not_found">Свързания профил не е намерен!</string>
     <string name="auth_access_failed">Достъп неуспешен: %1$s</string>
     <string name="auth_account_does_not_exist">Профилът все още не съществува на устройството</string>

+ 0 - 2
app/src/main/res/values-ca/strings.xml

@@ -36,8 +36,6 @@
     <string name="appbar_search_in">Cerca a %s</string>
     <string name="assistant_screen_all_task_type">Totes</string>
     <string name="assistant_screen_create_task_alert_dialog_input_field_placeholder">Escriu una mica de text</string>
-    <string name="assistant_screen_task_view_show_less">Mostra\'n menys</string>
-    <string name="assistant_screen_task_view_show_more">Mostra\'n més</string>
     <string name="associated_account_not_found">No s\'ha trobat el compte associat!</string>
     <string name="auth_access_failed">No s\'ha tingut accés: %1$s</string>
     <string name="auth_account_does_not_exist">Encara no s\'ha afegit el compte en aquest dispositiu</string>

+ 0 - 2
app/src/main/res/values-cs-rCZ/strings.xml

@@ -39,8 +39,6 @@
     <string name="assistant_screen_all_task_type">Vše</string>
     <string name="assistant_screen_create_task_alert_dialog_input_field_placeholder">Zadejte nějaký text</string>
     <string name="assistant_screen_task_delete_fail_message">Úloha úspěšně smazána</string>
-    <string name="assistant_screen_task_view_show_less">Zobrazit méně</string>
-    <string name="assistant_screen_task_view_show_more">Zobrazit více</string>
     <string name="associated_account_not_found">Související účet nenalezen!</string>
     <string name="auth_access_failed">Přístup se nezdařil: %1$s</string>
     <string name="auth_account_does_not_exist">Účet zatím není na tomto zařízení přidán</string>

+ 0 - 2
app/src/main/res/values-el/strings.xml

@@ -36,8 +36,6 @@
     <string name="appbar_search_in">Αναζήτηση στο %s</string>
     <string name="assistant_screen_all_task_type">\'Ολα</string>
     <string name="assistant_screen_create_task_alert_dialog_input_field_placeholder">Πληκτρολογήστε κάποιο κείμενο</string>
-    <string name="assistant_screen_task_view_show_less">Εμφάνιση λιγότερων</string>
-    <string name="assistant_screen_task_view_show_more">Εμφάνιση περισσότερων</string>
     <string name="associated_account_not_found">Δεν βρέθηκε ο συνδεδεμένος λογαριασμός!</string>
     <string name="auth_access_failed">Αποτυχία πρόσβασης: %1$s</string>
     <string name="auth_account_does_not_exist">Ο λογαριασμός δεν υπάρχει ακόμα στη συσκευή</string>

+ 0 - 2
app/src/main/res/values-eo/strings.xml

@@ -33,8 +33,6 @@
     <string name="allow_resharing">Permesi rekunhavigon</string>
     <string name="appbar_search_in">Serĉi en 1%s</string>
     <string name="assistant_screen_all_task_type">Ĉiuj</string>
-    <string name="assistant_screen_task_view_show_less">Montri malpli</string>
-    <string name="assistant_screen_task_view_show_more">Montri pli</string>
     <string name="auth_access_failed">Aliro malsukcesis: %1$s</string>
     <string name="auth_account_does_not_exist">La konto ankoraŭ ne aldoniĝis al tiu ĉi aparato</string>
     <string name="auth_account_not_new">Konto pri samaj uzanto kaj servilo jam ekzistas tiuaparate</string>

+ 0 - 2
app/src/main/res/values-es-rEC/strings.xml

@@ -37,8 +37,6 @@
     <string name="appbar_search_in">Compartir en %s</string>
     <string name="assistant_screen_all_task_type">Todos</string>
     <string name="assistant_screen_task_delete_fail_message">Tarea eliminada con éxito</string>
-    <string name="assistant_screen_task_view_show_less">Mostrar menos</string>
-    <string name="assistant_screen_task_view_show_more">Mostrar más</string>
     <string name="associated_account_not_found">¡Cuenta asociada no encontrada!</string>
     <string name="auth_access_failed">Acceso fallido: %1$s</string>
     <string name="auth_account_does_not_exist">La cuenta aún no ha sido agregada a este dispositivo </string>

+ 0 - 2
app/src/main/res/values-es/strings.xml

@@ -43,8 +43,6 @@
     <string name="assistant_screen_delete_task_alert_dialog_title">Eliminar tarea</string>
     <string name="assistant_screen_task_delete_fail_message">¡La tarea fue eliminada exitósamente!</string>
     <string name="assistant_screen_task_more_actions_bottom_sheet_delete_action">Eliminar tarea</string>
-    <string name="assistant_screen_task_view_show_less">Ver menos</string>
-    <string name="assistant_screen_task_view_show_more">Ver más</string>
     <string name="associated_account_not_found">¡Cuenta asociada no encontrada!</string>
     <string name="auth_access_failed">Acceso fallido: %1$s</string>
     <string name="auth_account_does_not_exist">La cuenta no se ha añadido aún en este dispositivo</string>

+ 0 - 2
app/src/main/res/values-eu/strings.xml

@@ -42,8 +42,6 @@
     <string name="assistant_screen_delete_task_alert_dialog_title">Ezabatu zeregina</string>
     <string name="assistant_screen_task_delete_fail_message">Zeregina ongi ezabatu da</string>
     <string name="assistant_screen_task_more_actions_bottom_sheet_delete_action">Ezabatu zeregina</string>
-    <string name="assistant_screen_task_view_show_less">Erakutsi gutxiago</string>
-    <string name="assistant_screen_task_view_show_more">Erakutsi gehiago</string>
     <string name="assistant_screen_top_bar_title">Morroia</string>
     <string name="associated_account_not_found">Ez da aurkitu lotutako konturik</string>
     <string name="auth_access_failed">Huts egin du atzitzean: %1$s</string>

+ 0 - 2
app/src/main/res/values-fa/strings.xml

@@ -40,8 +40,6 @@
     <string name="assistant_screen_all_task_type">همه</string>
     <string name="assistant_screen_create_task_alert_dialog_input_field_placeholder">مقداری متن را تایپ کنید</string>
     <string name="assistant_screen_task_delete_fail_message">Task successfully deleted</string>
-    <string name="assistant_screen_task_view_show_less">Show less</string>
-    <string name="assistant_screen_task_view_show_more">Show more</string>
     <string name="associated_account_not_found">حساب مرتبط یافت نشد!</string>
     <string name="auth_access_failed">دسترسی خطای  %1$s</string>
     <string name="auth_account_does_not_exist">حساب به این وسیله اضافه نشده است</string>

+ 0 - 2
app/src/main/res/values-gl/strings.xml

@@ -39,8 +39,6 @@
     <string name="assistant_screen_all_task_type">Todo</string>
     <string name="assistant_screen_create_task_alert_dialog_input_field_placeholder">Escriba algún texto</string>
     <string name="assistant_screen_task_delete_fail_message">A tarefa foi eliminada satisfactoriamente</string>
-    <string name="assistant_screen_task_view_show_less">Amosar menos</string>
-    <string name="assistant_screen_task_view_show_more">Amosar máis</string>
     <string name="associated_account_not_found">Non se atopou unha conta asociada!</string>
     <string name="auth_access_failed">Acceso fallado: %1$s</string>
     <string name="auth_account_does_not_exist">A conta aínda non existe no dispositivo</string>

+ 0 - 2
app/src/main/res/values-hr/strings.xml

@@ -34,8 +34,6 @@
     <string name="allow_resharing">Dopusti ponovno dijeljenje</string>
     <string name="appbar_search_in">Traži u %s</string>
     <string name="assistant_screen_all_task_type">Sve</string>
-    <string name="assistant_screen_task_view_show_less">Prikaži manje</string>
-    <string name="assistant_screen_task_view_show_more">Prikaži više</string>
     <string name="associated_account_not_found">Pripadajući račun nije pronađen!</string>
     <string name="auth_access_failed">Neuspjeli pristup: %1$s</string>
     <string name="auth_account_does_not_exist">Račun još nije dodan na ovaj uređaj</string>

+ 0 - 2
app/src/main/res/values-hu-rHU/strings.xml

@@ -39,8 +39,6 @@
     <string name="assistant_screen_all_task_type">Összes</string>
     <string name="assistant_screen_create_task_alert_dialog_input_field_placeholder">Gépeljen be szöveget</string>
     <string name="assistant_screen_task_delete_fail_message">Feladat sikeresen törölve</string>
-    <string name="assistant_screen_task_view_show_less">Kevesebb megjelenítése</string>
-    <string name="assistant_screen_task_view_show_more">Több megjelenítése</string>
     <string name="associated_account_not_found">A kapcsolódó fiók nem található!</string>
     <string name="auth_access_failed">Hozzáférési hiba: %1$s</string>
     <string name="auth_account_does_not_exist">Az eszközön még nem létezik a fiók</string>

+ 0 - 2
app/src/main/res/values-it/strings.xml

@@ -37,8 +37,6 @@
     <string name="app_widget_description">Mostra un widget dal cruscotto</string>
     <string name="appbar_search_in">Cerca in %s</string>
     <string name="assistant_screen_all_task_type">Tutti</string>
-    <string name="assistant_screen_task_view_show_less">Mostra meno</string>
-    <string name="assistant_screen_task_view_show_more">Mostra più</string>
     <string name="associated_account_not_found">Account associato non trovato.</string>
     <string name="auth_access_failed">Accesso non riuscito: %1$s</string>
     <string name="auth_account_does_not_exist">L\'account non è ancora aggiunto su questo dispositivo</string>

+ 0 - 2
app/src/main/res/values-iw/strings.xml

@@ -35,8 +35,6 @@
     <string name="app_widget_description">מצג וידג׳ט אחד מלוח הבקרה</string>
     <string name="appbar_search_in">חפש ב %s</string>
     <string name="assistant_screen_all_task_type">הכול</string>
-    <string name="assistant_screen_task_view_show_less">להציג פחות</string>
-    <string name="assistant_screen_task_view_show_more">להציג יותר</string>
     <string name="associated_account_not_found">לא נמצא חשבון משויך!</string>
     <string name="auth_access_failed">גישה נכשלה: %1$s</string>
     <string name="auth_account_does_not_exist">החשבון לא נוסף למכשיר הזה עדיין</string>

+ 0 - 2
app/src/main/res/values-ja-rJP/strings.xml

@@ -38,8 +38,6 @@
     <string name="app_widget_description">ダッシュボードから一つのウィジェットを表示</string>
     <string name="appbar_search_in">%s の中を検索</string>
     <string name="assistant_screen_all_task_type">すべて</string>
-    <string name="assistant_screen_task_view_show_less">表示を減らす</string>
-    <string name="assistant_screen_task_view_show_more">表示を増やす</string>
     <string name="associated_account_not_found">関連付けられたアカウントが見つかりません!</string>
     <string name="auth_access_failed">アクセスに失敗しました: %1$s</string>
     <string name="auth_account_does_not_exist">このアカウントはまだこのデバイスに追加されていません</string>

+ 0 - 2
app/src/main/res/values-ka/strings.xml

@@ -37,8 +37,6 @@
     <string name="app_widget_description">Shows one widget from dashboard</string>
     <string name="appbar_search_in">Search in %s</string>
     <string name="assistant_screen_all_task_type">All</string>
-    <string name="assistant_screen_task_view_show_less">Show less</string>
-    <string name="assistant_screen_task_view_show_more">Show more</string>
     <string name="associated_account_not_found">Associated account not found!</string>
     <string name="auth_access_failed">Access failed: %1$s</string>
     <string name="auth_account_does_not_exist">The account is not added on this device yet</string>

+ 0 - 2
app/src/main/res/values-ko/strings.xml

@@ -37,8 +37,6 @@
     <string name="app_widget_description">대시보드에 위젯 하나만 표시</string>
     <string name="appbar_search_in">%s에서 검색</string>
     <string name="assistant_screen_all_task_type">모두</string>
-    <string name="assistant_screen_task_view_show_less">적게 보기</string>
-    <string name="assistant_screen_task_view_show_more">더 보기</string>
     <string name="associated_account_not_found">관련 계정을 찾을 수 없습니다!</string>
     <string name="auth_access_failed">접근 실패: %1$s</string>
     <string name="auth_account_does_not_exist">이 장치에 아직 계정이 추가되지 않았음</string>

+ 0 - 2
app/src/main/res/values-lt-rLT/strings.xml

@@ -34,8 +34,6 @@
     <string name="allow_resharing">Leisti bendrinti iš naujo</string>
     <string name="appbar_search_in">Ieškoti %s</string>
     <string name="assistant_screen_all_task_type">Visos</string>
-    <string name="assistant_screen_task_view_show_less">Rodyti mažiau</string>
-    <string name="assistant_screen_task_view_show_more">Rodyti daugiau</string>
     <string name="associated_account_not_found">Susieta paskyra nerasta!</string>
     <string name="auth_access_failed">Prieiga nepavyko: %1$s</string>
     <string name="auth_account_does_not_exist">Paskyra kol kas šiame įrenginyje nėra pridėta</string>

+ 0 - 2
app/src/main/res/values-mk/strings.xml

@@ -35,8 +35,6 @@
     <string name="app_widget_description">Прикажува еден виџет од контролната табла</string>
     <string name="appbar_search_in">Барај во %s</string>
     <string name="assistant_screen_all_task_type">Сите</string>
-    <string name="assistant_screen_task_view_show_less">Помалку</string>
-    <string name="assistant_screen_task_view_show_more">Прикажи повеќе</string>
     <string name="associated_account_not_found">Не е пронајдена поврзана сметка!</string>
     <string name="auth_access_failed">Неуспешен пристап: %1$s</string>
     <string name="auth_account_does_not_exist">Сметката сеуште не е додадена на овој уред</string>

+ 0 - 2
app/src/main/res/values-pl/strings.xml

@@ -37,8 +37,6 @@
     <string name="app_widget_description">Pokazuje jeden widżet z pulpitu nawigacyjnego</string>
     <string name="appbar_search_in">Szukaj w %s</string>
     <string name="assistant_screen_all_task_type">Wszystkie</string>
-    <string name="assistant_screen_task_view_show_less">Pokaż mniej</string>
-    <string name="assistant_screen_task_view_show_more">Pokaż więcej</string>
     <string name="associated_account_not_found">Nie znaleziono powiązanego konta!</string>
     <string name="auth_access_failed">Dostęp nieudany: %1$s</string>
     <string name="auth_account_does_not_exist">Konto nie jest jeszcze dodane na tym urządzeniu</string>

+ 0 - 2
app/src/main/res/values-ru/strings.xml

@@ -40,8 +40,6 @@
     <string name="assistant_screen_all_task_type">Все</string>
     <string name="assistant_screen_create_task_alert_dialog_input_field_placeholder">Наберите какой-то текст</string>
     <string name="assistant_screen_task_delete_fail_message">Задача удалена</string>
-    <string name="assistant_screen_task_view_show_less">Показывать меньше</string>
-    <string name="assistant_screen_task_view_show_more">Показывать больше</string>
     <string name="associated_account_not_found">Связанный аккаунт не найден!</string>
     <string name="auth_access_failed">Доступ запрещен: %1$s</string>
     <string name="auth_account_does_not_exist">Учётная запись ещё не создана на этом устройстве</string>

+ 0 - 2
app/src/main/res/values-sc/strings.xml

@@ -34,8 +34,6 @@
     <string name="allow_resharing">Permite sa re-cumpartzidura</string>
     <string name="appbar_search_in">Chirca in %s</string>
     <string name="assistant_screen_all_task_type">Totu</string>
-    <string name="assistant_screen_task_view_show_less">Mustra prus pagu</string>
-    <string name="assistant_screen_task_view_show_more">Mustra de prus</string>
     <string name="associated_account_not_found">Contu assotziadu no agatadu!</string>
     <string name="auth_access_failed">Atzessu faddidu: %1$s</string>
     <string name="auth_account_does_not_exist">Su contu non s\'agatat ancora in custu dispositivu</string>

+ 0 - 2
app/src/main/res/values-sl/strings.xml

@@ -37,8 +37,6 @@
     <string name="app_widget_description">Pokaži en gradnik iz nadzorne plošče</string>
     <string name="appbar_search_in">Poišči v %s</string>
     <string name="assistant_screen_all_task_type">Vse</string>
-    <string name="assistant_screen_task_view_show_less">Pokaži manj</string>
-    <string name="assistant_screen_task_view_show_more">Pokaži več</string>
     <string name="associated_account_not_found">Povezanega računa ni mogoče najti!</string>
     <string name="auth_access_failed">Dostop je spodletel: %1$s</string>
     <string name="auth_account_does_not_exist">Račun še ni dodan na to napravo.</string>

+ 0 - 2
app/src/main/res/values-tr/strings.xml

@@ -40,8 +40,6 @@
     <string name="assistant_screen_all_task_type">Tümü</string>
     <string name="assistant_screen_create_task_alert_dialog_input_field_placeholder">Bir şeyler yazın</string>
     <string name="assistant_screen_task_delete_fail_message">Görev silindi</string>
-    <string name="assistant_screen_task_view_show_less">Daha az ayrıntı</string>
-    <string name="assistant_screen_task_view_show_more">Daha çok ayrıntı</string>
     <string name="associated_account_not_found">İlişkili hesap bulunamadı!</string>
     <string name="auth_access_failed">Erişilemedi: %1$s</string>
     <string name="auth_account_does_not_exist">Aygıt üzerinde henüz bu hesap açılmamış</string>

+ 0 - 2
app/src/main/res/values-zh-rCN/strings.xml

@@ -43,8 +43,6 @@
     <string name="assistant_screen_loading">任务列表加载中,请稍等</string>
     <string name="assistant_screen_task_create_success_message">任务已创建</string>
     <string name="assistant_screen_task_delete_fail_message">任务已删除</string>
-    <string name="assistant_screen_task_view_show_less">显示更少</string>
-    <string name="assistant_screen_task_view_show_more">显示更多</string>
     <string name="associated_account_not_found">相关账号未找到!</string>
     <string name="auth_access_failed">访问已失败: %1$s</string>
     <string name="auth_account_does_not_exist">该账号尚未添加到此设备上</string>

+ 0 - 2
app/src/main/res/values-zh-rHK/strings.xml

@@ -51,8 +51,6 @@
     <string name="assistant_screen_task_list_error_state_message">無法擷取任務清單,請檢查您的網際網路連線。</string>
     <string name="assistant_screen_task_more_actions_bottom_sheet_delete_action">刪除任務</string>
     <string name="assistant_screen_task_types_error_state_message">無法擷取任務類型,請檢查您的網際網路連線。</string>
-    <string name="assistant_screen_task_view_show_less">顯示較少</string>
-    <string name="assistant_screen_task_view_show_more">顯示更多</string>
     <string name="assistant_screen_top_bar_title">助手</string>
     <string name="associated_account_not_found">無法找到連結賬戶</string>
     <string name="auth_access_failed">存取失敗:%1$s</string>

+ 0 - 2
app/src/main/res/values-zh-rTW/strings.xml

@@ -51,8 +51,6 @@
     <string name="assistant_screen_task_list_error_state_message">無法擷取工作項目清單,請檢查您的網際網路連線。</string>
     <string name="assistant_screen_task_more_actions_bottom_sheet_delete_action">刪除工作項目</string>
     <string name="assistant_screen_task_types_error_state_message">無法擷取工作項目類型,請檢查您的網際網路連線。</string>
-    <string name="assistant_screen_task_view_show_less">顯示較少</string>
-    <string name="assistant_screen_task_view_show_more">顯示更多</string>
     <string name="assistant_screen_top_bar_title">助理</string>
     <string name="associated_account_not_found">找不到相關的帳號!</string>
     <string name="auth_access_failed">存取失敗:%1$s</string>

+ 6 - 2
app/src/main/res/values/strings.xml

@@ -46,9 +46,13 @@
 
     <string name="assistant_screen_create_task_alert_dialog_input_field_placeholder">Type some text</string>
 
+    <string name="assistant_screen_unknown_task_status_text">Unknown</string>
+    <string name="assistant_screen_scheduled_task_status_text">Scheduled</string>
+    <string name="assistant_screen_successful_task_text">Completed</string>
+    <string name="assistant_screen_failed_task_text">Failed</string>
+    <string name="assistant_screen_running_task_text">In Progress</string>
+
     <string name="assistant_screen_all_task_type">All</string>
-    <string name="assistant_screen_task_view_show_more">Show more</string>
-    <string name="assistant_screen_task_view_show_less">Show less</string>
 
     <string name="drawer_item_assistant">Assistant</string>
     <string name="drawer_item_all_files">All files</string>