mirror of https://github.com/nextcloud/android
Fix by Alper
Signed-off-by: Jonas Mayer <jonas.a.mayer@gmx.net>
This commit is contained in:
parent
e0364715fb
commit
c640306025
|
@ -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) {
|
||||
|
|
|
@ -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()
|
||||
)
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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
|
||||
)
|
||||
|
|
|
@ -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 +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>
|
|
@ -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>
|
|
@ -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"
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Reference in New Issue