From c72f37a9ac77d35b336c79a8fb4bd3fa76ac6f60 Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 14 Mar 2024 13:16:50 +1030 Subject: [PATCH] Refactor outlinedTextFieldColors --- .../securesms/onboarding/LinkDeviceActivity.kt | 10 +++------- .../pickname/PickDisplayNameActivity.kt | 12 +++--------- .../java/org/thoughtcrime/securesms/ui/Colors.kt | 15 +++++++++++++++ 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/onboarding/LinkDeviceActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/onboarding/LinkDeviceActivity.kt index 67ffa5887c..e839451d13 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/onboarding/LinkDeviceActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/onboarding/LinkDeviceActivity.kt @@ -80,8 +80,10 @@ import org.thoughtcrime.securesms.BaseActionBarActivity import org.thoughtcrime.securesms.ui.AppTheme import org.thoughtcrime.securesms.ui.OutlineButton import org.thoughtcrime.securesms.ui.baseBold +import org.thoughtcrime.securesms.ui.classicDark3 import org.thoughtcrime.securesms.ui.colorDestructive import org.thoughtcrime.securesms.ui.components.SessionTabRow +import org.thoughtcrime.securesms.ui.outlinedTextFieldColors import java.util.concurrent.Executors import javax.inject.Inject @@ -282,13 +284,7 @@ fun RecoveryPassword(state: LinkDeviceState, onChange: (String) -> Unit = {}, on value = state.recoveryPhrase, onValueChange = { onChange(it) }, placeholder = { Text(stringResource(R.string.activity_link_enter_your_recovery_password)) }, - colors = TextFieldDefaults.outlinedTextFieldColors( - textColor = state.error?.let { colorDestructive } ?: LocalContentColor.current.copy(LocalContentAlpha.current), - focusedBorderColor = Color(0xff414141), - unfocusedBorderColor = Color(0xff414141), - cursorColor = LocalContentColor.current, - placeholderColor = state.error?.let { colorDestructive } ?: MaterialTheme.colors.onSurface.copy(ContentAlpha.medium) - ), + colors = outlinedTextFieldColors(state.error != null), singleLine = true, keyboardActions = KeyboardActions( onDone = { onContinue() }, diff --git a/app/src/main/java/org/thoughtcrime/securesms/onboarding/pickname/PickDisplayNameActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/onboarding/pickname/PickDisplayNameActivity.kt index 729194a5d6..f40cc4cf9f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/onboarding/pickname/PickDisplayNameActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/onboarding/pickname/PickDisplayNameActivity.kt @@ -38,7 +38,9 @@ import org.thoughtcrime.securesms.ui.OutlineButton import org.thoughtcrime.securesms.ui.PreviewTheme import org.thoughtcrime.securesms.ui.base import org.thoughtcrime.securesms.ui.baseBold +import org.thoughtcrime.securesms.ui.classicDark3 import org.thoughtcrime.securesms.ui.colorDestructive +import org.thoughtcrime.securesms.ui.outlinedTextFieldColors import org.thoughtcrime.securesms.util.setUpActionBarSessionLogo import javax.inject.Inject @@ -106,15 +108,7 @@ class PickDisplayNameActivity : BaseActionBarActivity() { value = state.displayName, onValueChange = { onChange(it) }, placeholder = { Text(stringResource(R.string.activity_display_name_edit_text_hint)) }, - colors = TextFieldDefaults.outlinedTextFieldColors( - textColor = state.error?.let { colorDestructive } ?: - LocalContentColor.current.copy(LocalContentAlpha.current), - focusedBorderColor = Color(0xff414141), - unfocusedBorderColor = Color(0xff414141), - cursorColor = LocalContentColor.current, - placeholderColor = state.error?.let { colorDestructive } - ?: MaterialTheme.colors.onSurface.copy(ContentAlpha.medium) - ), + colors = outlinedTextFieldColors(state.error != null), singleLine = true, keyboardActions = KeyboardActions( onDone = { onContinue() }, diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/Colors.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/Colors.kt index ca7d3de7b4..13df8426c2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/Colors.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/Colors.kt @@ -7,8 +7,12 @@ import androidx.compose.foundation.layout.Column import androidx.compose.material.ButtonDefaults import androidx.compose.material.Card import androidx.compose.material.Colors +import androidx.compose.material.ContentAlpha +import androidx.compose.material.LocalContentAlpha +import androidx.compose.material.LocalContentColor import androidx.compose.material.MaterialTheme import androidx.compose.material.Text +import androidx.compose.material.TextFieldDefaults import androidx.compose.material.primarySurface import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier @@ -115,3 +119,14 @@ private fun Colors() { } } } + +@Composable +fun outlinedTextFieldColors( + isError: Boolean +) = TextFieldDefaults.outlinedTextFieldColors( + textColor = if (isError) colorDestructive else LocalContentColor.current.copy(LocalContentAlpha.current), + focusedBorderColor = Color(classicDark3), + unfocusedBorderColor = Color(classicDark3), + cursorColor = LocalContentColor.current, + placeholderColor = if (isError) colorDestructive else MaterialTheme.colors.onSurface.copy(ContentAlpha.medium) +)