From 211d090a2db7d2672325fbbbbba45f7c58431dd7 Mon Sep 17 00:00:00 2001 From: AntsyLich <59261191+AntsyLich@users.noreply.github.com> Date: Mon, 5 May 2025 01:36:37 +0600 Subject: [PATCH] Add autofill support to tracker login dialog and update processing text (#2069) (cherry picked from commit 7deeabe844d41d2b5e918ad747ddd548163c9fe3) # Conflicts: # CHANGELOG.md --- .../more/settings/screen/SettingsTrackingScreen.kt | 13 ++++++++++--- i18n/src/commonMain/moko-resources/base/strings.xml | 1 + 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsTrackingScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsTrackingScreen.kt index 7c2a5caac..4c4346293 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsTrackingScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsTrackingScreen.kt @@ -30,8 +30,11 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.autofill.ContentType import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalUriHandler +import androidx.compose.ui.semantics.contentType +import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.text.input.PasswordVisualTransformation @@ -228,7 +231,9 @@ object SettingsTrackingScreen : SearchableSettings { text = { Column(verticalArrangement = Arrangement.spacedBy(12.dp)) { OutlinedTextField( - modifier = Modifier.fillMaxWidth(), + modifier = Modifier + .fillMaxWidth() + .semantics { contentType = ContentType.Username + ContentType.EmailAddress }, value = username, onValueChange = { username = it }, label = { Text(text = stringResource(uNameStringRes)) }, @@ -239,7 +244,9 @@ object SettingsTrackingScreen : SearchableSettings { var hidePassword by remember { mutableStateOf(true) } OutlinedTextField( - modifier = Modifier.fillMaxWidth(), + modifier = Modifier + .fillMaxWidth() + .semantics { contentType = ContentType.Password }, value = password, onValueChange = { password = it }, label = { Text(text = stringResource(MR.strings.password)) }, @@ -288,7 +295,7 @@ object SettingsTrackingScreen : SearchableSettings { } }, ) { - val id = if (processing) MR.strings.loading else MR.strings.login + val id = if (processing) MR.strings.logging_in else MR.strings.login Text(text = stringResource(id)) } }, diff --git a/i18n/src/commonMain/moko-resources/base/strings.xml b/i18n/src/commonMain/moko-resources/base/strings.xml index d698f6aca..05a24a5af 100755 --- a/i18n/src/commonMain/moko-resources/base/strings.xml +++ b/i18n/src/commonMain/moko-resources/base/strings.xml @@ -658,6 +658,7 @@ Email address Password Login + Logging in… Logged in Log out from %1$s? Log out