Use new strings 1

This commit is contained in:
Andrew 2024-03-15 12:37:49 +10:30
parent 4279c4b456
commit a67b5f51b9
11 changed files with 45 additions and 305 deletions

View File

@ -66,27 +66,27 @@ class LandingActivity : BaseActionBarActivity() {
AppTheme {
Column(modifier = Modifier.padding(horizontal = 36.dp)) {
Spacer(modifier = Modifier.weight(1f))
Text(stringResource(R.string.onboarding_privacy_in_your_pocket), modifier = Modifier.align(Alignment.CenterHorizontally), style = MaterialTheme.typography.h4, textAlign = TextAlign.Center)
Text(stringResource(R.string.onboardingBubblePrivacyInYourPocket), modifier = Modifier.align(Alignment.CenterHorizontally), style = MaterialTheme.typography.h4, textAlign = TextAlign.Center)
Spacer(modifier = Modifier.height(24.dp))
IncomingText(stringResource(R.string.onboarding_welcome_to_session))
IncomingText(stringResource(R.string.onboardingBubbleWelcomeToSession))
Spacer(modifier = Modifier.height(14.dp))
OutgoingText(stringResource(R.string.onboarding_session_is_engineered_to_protect_your_privacy))
OutgoingText(stringResource(R.string.onboardingBubbleSessionIsEngineered))
Spacer(modifier = Modifier.height(14.dp))
IncomingText(stringResource(R.string.onboarding_you_don_t_even_need_a_phone_number_to_sign_up))
IncomingText(stringResource(R.string.onboardingBubbleNoPhoneNumber))
Spacer(modifier = Modifier.height(14.dp))
OutgoingText(stringResource(R.string.onboarding_creating_an_account_is_instant_free_and_anonymous))
OutgoingText(stringResource(R.string.onboardingBubbleCreatingAnAccountIsEasy))
Spacer(modifier = Modifier.weight(1f))
OutlineButton(text = stringResource(R.string.onboarding_create_account), modifier = Modifier
OutlineButton(text = stringResource(R.string.onboardingAccountCreate), modifier = Modifier
.width(262.dp)
.align(Alignment.CenterHorizontally)) { startPickDisplayNameActivity() }
Spacer(modifier = Modifier.height(14.dp))
FilledButton(text = stringResource(R.string.onboarding_i_have_an_account), modifier = Modifier
FilledButton(text = stringResource(R.string.onboardingAccountExists), modifier = Modifier
.width(262.dp)
.align(Alignment.CenterHorizontally)) { startLinkDeviceActivity() }
Spacer(modifier = Modifier.height(8.dp))
BorderlessButton(
text = stringResource(R.string.onboarding_by_using_this_service_you_agree_to_our_terms_of_service_and_privacy_policy),
text = stringResource(R.string.onboardingTosPrivacy),
modifier = Modifier
.width(262.dp)
.align(Alignment.CenterHorizontally),

View File

@ -29,17 +29,13 @@ import androidx.compose.foundation.pager.HorizontalPager
import androidx.compose.foundation.pager.rememberPagerState
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.text.KeyboardActions
import androidx.compose.material.ContentAlpha
import androidx.compose.material.Icon
import androidx.compose.material.LocalContentAlpha
import androidx.compose.material.LocalContentColor
import androidx.compose.material.MaterialTheme
import androidx.compose.material.OutlinedTextField
import androidx.compose.material.Scaffold
import androidx.compose.material.Snackbar
import androidx.compose.material.SnackbarHost
import androidx.compose.material.Text
import androidx.compose.material.TextFieldDefaults
import androidx.compose.material.rememberScaffoldState
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
@ -80,8 +76,6 @@ 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
@ -89,7 +83,7 @@ import javax.inject.Inject
private const val TAG = "LinkDeviceActivity"
private val TITLES = listOf(R.string.activity_recovery_password, R.string.activity_link_device_scan_qr_code)
private val TITLES = listOf(R.string.sessionRecoveryPassword, R.string.qrScan)
@AndroidEntryPoint
@androidx.annotation.OptIn(ExperimentalGetImage::class)
@ -154,7 +148,7 @@ class LinkDeviceActivity : BaseActionBarActivity() {
runCatching {
cameraProvider.get().unbindAll()
if (title == R.string.activity_link_device_scan_qr_code) {
if (title == R.string.qrScan) {
LocalSoftwareKeyboardController.current?.hide()
cameraProvider.get().bindToLifecycle(
LocalLifecycleOwner.current,
@ -165,8 +159,8 @@ class LinkDeviceActivity : BaseActionBarActivity() {
}
}.onFailure { Log.e(TAG, "error binding camera", it) }
when (title) {
R.string.activity_recovery_password -> RecoveryPassword(state, onChange, onContinue)
R.string.activity_link_device_scan_qr_code -> MaybeScanQrCode()
R.string.sessionRecoveryPassword -> RecoveryPassword(state, onChange, onContinue)
R.string.qrScan -> MaybeScanQrCode()
}
}
}
@ -193,7 +187,7 @@ class LinkDeviceActivity : BaseActionBarActivity() {
)
Spacer(modifier = Modifier.size(20.dp))
OutlineButton(
text = stringResource(R.string.activity_link_settings),
text = stringResource(R.string.sessionSettings),
modifier = Modifier.align(Alignment.CenterHorizontally)
) {
Intent(ACTION_APPLICATION_DETAILS_SETTINGS).apply {
@ -203,7 +197,7 @@ class LinkDeviceActivity : BaseActionBarActivity() {
}
} else {
OutlineButton(
text = stringResource(R.string.activity_link_grant_camera_permission),
text = stringResource(R.string.cameraGrantAccess),
modifier = Modifier.align(Alignment.Center)
) {
cameraPermissionState.run { launchPermissionRequest() }
@ -270,7 +264,7 @@ fun RecoveryPassword(state: LinkDeviceState, onChange: (String) -> Unit = {}, on
) {
Spacer(Modifier.weight(1f))
Row {
Text(stringResource(R.string.activity_link_recovery_password), style = MaterialTheme.typography.h4)
Text(stringResource(R.string.sessionRecoveryPassword), style = MaterialTheme.typography.h4)
Spacer(Modifier.width(6.dp))
Icon(
painter = painterResource(id = R.drawable.ic_shield_outline),
@ -283,7 +277,7 @@ fun RecoveryPassword(state: LinkDeviceState, onChange: (String) -> Unit = {}, on
OutlinedTextField(
value = state.recoveryPhrase,
onValueChange = { onChange(it) },
placeholder = { Text(stringResource(R.string.activity_link_enter_your_recovery_password)) },
placeholder = { Text(stringResource(R.string.recoveryPasswordEnter)) },
colors = outlinedTextFieldColors(state.error != null),
singleLine = true,
keyboardActions = KeyboardActions(

View File

@ -42,7 +42,7 @@ class LinkDeviceViewModel @Inject constructor(
val qrErrorsFlow = qrErrors.receiveAsFlow()
.debounce(QR_ERROR_TIME)
.takeWhile { event.isEmpty }
.mapNotNull { application.getString(R.string.activity_link_this_qr_code_does_not_contain_a_recovery_password) }
.mapNotNull { application.getString(R.string.qrNotRecoveryPassword) }
private val codec by lazy { MnemonicCodec { MnemonicUtilities.loadFileContents(getApplication(), it) } }
@ -73,9 +73,9 @@ class LinkDeviceViewModel @Inject constructor(
state.update {
it.copy(
error = when (error) {
is InputTooShort -> R.string.activity_link_the_recovery_password_you_entered_is_not_long_enough_please_check_and_try_again
is InvalidWord -> R.string.activity_link_some_of_the_words_in_your_recovery_password_are_incorrect_please_check_and_try_again
else -> R.string.activity_link_please_check_your_recovery_password_and_try_again
is InputTooShort -> R.string.recoveryPasswordErrorMessageShort
is InvalidWord -> R.string.recoveryPasswordErrorMessageIncorrect
else -> R.string.recoveryPasswordErrorMessageGeneric
}.let(application::getString)
)
}

View File

@ -62,7 +62,7 @@ class RecoveryPasswordActivity : BaseActionBarActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
supportActionBar!!.title = resources.getString(R.string.activity_recovery_password)
supportActionBar!!.title = resources.getString(R.string.sessionRecoveryPassword)
ComposeView(this).apply {
setContent {

View File

@ -55,6 +55,7 @@ import androidx.compose.ui.unit.TextUnit
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.compose.ui.viewinterop.AndroidView
import network.loki.messenger.R
import org.session.libsession.utilities.recipients.Recipient
import org.session.libsession.utilities.runIf
import org.thoughtcrime.securesms.components.ProfilePictureView

View File

@ -23,7 +23,7 @@ import org.thoughtcrime.securesms.ui.LocalExtraColors
import org.thoughtcrime.securesms.ui.PreviewTheme
import org.thoughtcrime.securesms.ui.ThemeResPreviewParameterProvider
private val TITLES = listOf(R.string.activity_recovery_password, R.string.activity_link_device_scan_qr_code)
private val TITLES = listOf(R.string.sessionRecoveryPassword, R.string.qrScan)
@OptIn(ExperimentalFoundationApi::class)
@Composable

View File

@ -1,64 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/very_large_spacing"
android:layout_marginRight="@dimen/very_large_spacing"
android:textSize="@dimen/very_large_font_size"
android:textStyle="bold"
android:textColor="?android:textColorPrimary"
android:text="@string/activity_display_name_title_2" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/very_large_spacing"
android:layout_marginTop="7dp"
android:layout_marginRight="@dimen/very_large_spacing"
android:textSize="@dimen/medium_font_size"
android:textColor="?android:textColorPrimary"
android:text="@string/activity_display_name_explanation" />
<EditText
style="@style/SessionEditText"
android:id="@+id/displayNameEditText"
android:contentDescription="@string/AccessibilityId_enter_display_name"
android:layout_width="match_parent"
android:layout_height="64dp"
android:layout_marginLeft="@dimen/very_large_spacing"
android:layout_marginTop="12dp"
android:layout_marginRight="@dimen/very_large_spacing"
android:paddingTop="0dp"
android:paddingBottom="0dp"
android:gravity="center_vertical"
android:inputType="textCapWords"
android:hint="@string/activity_display_name_edit_text_hint" />
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<Button
style="@style/Widget.Session.Button.Common.ProminentFilled"
android:id="@+id/registerButton"
android:contentDescription="@string/AccessibilityId_continue"
android:layout_width="match_parent"
android:layout_height="@dimen/medium_button_height"
android:layout_marginLeft="@dimen/massive_spacing"
android:layout_marginRight="@dimen/massive_spacing"
android:layout_marginBottom="@dimen/medium_spacing"
android:text="@string/continue_2" />
</LinearLayout>

View File

@ -1,65 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/very_large_spacing"
android:layout_marginRight="@dimen/very_large_spacing"
android:textSize="@dimen/very_large_font_size"
android:textStyle="bold"
android:textColor="?android:textColorPrimary"
android:text="@string/fragment_recovery_phrase_title" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/very_large_spacing"
android:layout_marginTop="7dp"
android:layout_marginRight="@dimen/very_large_spacing"
android:textSize="@dimen/medium_font_size"
android:textColor="?android:textColorPrimary"
android:text="@string/activity_restore_explanation" />
<EditText
style="@style/SessionEditText"
android:id="@+id/mnemonicEditText"
android:contentDescription="@string/AccessibilityId_enter_your_recovery_phrase"
android:layout_width="match_parent"
android:layout_height="64dp"
android:layout_marginLeft="@dimen/very_large_spacing"
android:layout_marginTop="12dp"
android:layout_marginRight="@dimen/very_large_spacing"
android:paddingTop="0dp"
android:paddingBottom="0dp"
android:gravity="center_vertical"
android:inputType="textMultiLine"
android:maxLines="3"
android:hint="@string/activity_restore_seed_edit_text_hint" />
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<Button
style="@style/Widget.Session.Button.Common.ProminentFilled"
android:id="@+id/continueButton"
android:contentDescription="@string/AccessibilityId_continue"
android:layout_width="match_parent"
android:layout_height="@dimen/medium_button_height"
android:layout_marginLeft="@dimen/massive_spacing"
android:layout_marginRight="@dimen/massive_spacing"
android:layout_marginBottom="@dimen/medium_spacing"
android:text="@string/continue_2" />
</LinearLayout>

View File

@ -1,64 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/very_large_spacing"
android:layout_marginRight="@dimen/very_large_spacing"
android:textSize="20sp"
android:textStyle="bold"
android:textColor="?android:textColorPrimary"
android:text="@string/activity_display_name_title_2" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/very_large_spacing"
android:layout_marginTop="4dp"
android:layout_marginRight="@dimen/very_large_spacing"
android:textSize="@dimen/small_font_size"
android:textColor="?android:textColorPrimary"
android:text="@string/activity_display_name_explanation" />
<EditText
style="@style/SmallSessionEditText"
android:contentDescription="@string/AccessibilityId_enter_display_name"
android:id="@+id/displayNameEditText"
android:layout_width="match_parent"
android:layout_height="64dp"
android:layout_marginLeft="@dimen/very_large_spacing"
android:layout_marginTop="10dp"
android:layout_marginRight="@dimen/very_large_spacing"
android:paddingTop="0dp"
android:paddingBottom="0dp"
android:gravity="center_vertical"
android:inputType="textCapWords"
android:hint="@string/activity_display_name_edit_text_hint" />
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<Button
style="@style/Widget.Session.Button.Common.ProminentFilled"
android:contentDescription="@string/AccessibilityId_continue"
android:id="@+id/registerButton"
android:layout_width="match_parent"
android:layout_height="@dimen/medium_button_height"
android:layout_marginLeft="@dimen/massive_spacing"
android:layout_marginRight="@dimen/massive_spacing"
android:layout_marginBottom="@dimen/small_spacing"
android:text="@string/continue_2" />
</LinearLayout>

View File

@ -1,63 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/very_large_spacing"
android:layout_marginRight="@dimen/very_large_spacing"
android:textSize="@dimen/large_font_size"
android:textStyle="bold"
android:textColor="?android:textColorPrimary"
android:text="@string/fragment_recovery_phrase_title" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/very_large_spacing"
android:layout_marginTop="4dp"
android:layout_marginRight="@dimen/very_large_spacing"
android:textSize="@dimen/small_font_size"
android:textColor="?android:textColorPrimary"
android:text="@string/activity_restore_explanation" />
<EditText
style="@style/SmallSessionEditText"
android:id="@+id/mnemonicEditText"
android:layout_width="match_parent"
android:layout_height="64dp"
android:layout_marginHorizontal="@dimen/very_large_spacing"
android:layout_marginTop="10dp"
android:contentDescription="@string/AccessibilityId_enter_your_recovery_phrase"
android:paddingTop="0dp"
android:paddingBottom="0dp"
android:gravity="center_vertical"
android:inputType="textMultiLine"
android:maxLines="3"
android:hint="@string/activity_restore_seed_edit_text_hint" />
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<Button
style="@style/Widget.Session.Button.Common.ProminentFilled"
android:id="@+id/continueButton"
android:layout_width="match_parent"
android:layout_height="@dimen/medium_button_height"
android:layout_marginHorizontal="@dimen/massive_spacing"
android:layout_marginBottom="@dimen/medium_spacing"
android:contentDescription="@string/AccessibilityId_link_device"
android:text="@string/continue_2" />
</LinearLayout>

View File

@ -17,7 +17,6 @@
<!-- Landing Page -->
<string name="AccessibilityId_create_session_id">Create session ID</string>
<string name="AccessibilityId_restore_your_session">Restore Your Session</string>
<string name="AccessibilityId_link_a_device">Link a device</string>
<string name="AccessibilityId_link_device">Link Device</string>
<!-- Session ID Page-->
<string name="AccessibilityId_session_id">Session ID</string>
@ -880,9 +879,7 @@
<string name="activity_backup_restore_explanation_1">Select a backup file and enter the passphrase it was created with.</string>
<string name="activity_backup_restore_passphrase">30-digit passphrase</string>
<string name="activity_link_device_skip_prompt">This is taking a while, would you like to skip?</string>
<string name="activity_link_device_link_device">Link a Device</string>
<string name="activity_link_device_recovery_phrase">Recovery Phrase</string>
<string name="activity_link_device_scan_qr_code">Scan QR Code</string>
<string name="qrScan">Scan QR Code</string>
<string name="activity_link_device_qr_message">Navigate to Settings → Recovery Phrase on your other device to show your QR code.</string>
<string name="activity_join_public_chat_join_rooms">Or join one of these…</string>
<string name="activity_pn_mode_message_notifications">Message Notifications</string>
@ -1076,26 +1073,30 @@
<string name="unread_marker">Unread Messages</string>
<string name="auto_deletes_in">Auto-deletes in %1$s</string>
<string name="activity_recovery_password">Recovery Password</string>
<string name="onboardingBubblePrivacyInYourPocket">Privacy in your pocket.</string>
<string name="onboardingBubbleWelcomeToSession">Welcome to Session 👋</string>
<string name="onboardingBubbleSessionIsEngineered">Session is engineered to protect your privacy.</string>
<string name="onboardingBubbleNoPhoneNumber">"You dont even need a phone number to sign up. "</string>
<string name="onboardingBubbleCreatingAnAccountIsEasy">Creating an account is \ninstant, free, and \nanonymous 👇</string>
<string name="onboardingAccountCreate">Create account</string>
<string name="onboardingAccountExists">I have an account</string>
<string name="onboardingTosPrivacy">By using this service, you agree to our Terms of Service and Privacy Policy</string>
<string name="qrNotRecoveryPassword">This QR code does not contain a Recovery Password.</string>
<string name="recoveryPasswordErrorMessageShort">The Recovery Password you entered is not long enough. Please check and try again.</string>
<string name="recoveryPasswordErrorMessageIncorrect">Some of the words in your Recovery Password are incorrect. Please check and try again.</string>
<string name="recoveryPasswordErrorMessageGeneric">Please check your Recovery Password and try again.</string>
<string name="cameraGrantAccess">Grant Camera Access</string>
<string name="sessionRecoveryPassword">Recovery Password</string>
<string name="recoveryPasswordEnter">Enter your recovery password</string>
<string name="sessionSettings">Settings</string>
<string name="onboarding_privacy_in_your_pocket">Privacy in your pocket.</string>
<string name="onboarding_welcome_to_session">Welcome to Session 👋</string>
<string name="onboarding_session_is_engineered_to_protect_your_privacy">Session is engineered\nto protect your privacy.</string>
<string name="onboarding_you_don_t_even_need_a_phone_number_to_sign_up">"You dont even need a phone number to sign up. "</string>
<string name="onboarding_creating_an_account_is_instant_free_and_anonymous">Creating an account is \ninstant, free, and \nanonymous 👇</string>
<string name="onboarding_create_account">Create account</string>
<string name="onboarding_i_have_an_account">I have an account</string>
<string name="onboarding_by_using_this_service_you_agree_to_our_terms_of_service_and_privacy_policy">By using this service, you agree to our Terms of Service and Privacy Policy</string>
<string name="activity_link_this_qr_code_does_not_contain_a_recovery_password">This QR code does not contain a Recovery Password.</string>
<string name="activity_link_the_recovery_password_you_entered_is_not_long_enough_please_check_and_try_again">The Recovery Password you entered is not long enough. Please check and try again.</string>
<string name="activity_link_some_of_the_words_in_your_recovery_password_are_incorrect_please_check_and_try_again">Some of the words in your Recovery Password are incorrect. Please check and try again.</string>
<string name="activity_link_please_check_your_recovery_password_and_try_again">Please check your Recovery Password and try again.</string>
<string name="activity_link_load_account">Load Account</string>
<string name="activity_link_camera_permission_permanently_denied_configure_in_settings">Camera Permission permanently denied. Configure in settings.</string>
<string name="activity_link_settings">Settings</string>
<string name="activity_link_grant_camera_permission">Grant Camera Permission</string>
<string name="activity_link_recovery_password">Recovery Password</string>
<string name="activity_link_enter_your_recovery_password_to_load_your_account_if_you_haven_t_saved_it_you_can_find_it_in_your_app_settings">Enter your recovery password to load your account. If you haven\'t saved it, you can find it in your app settings.</string>
<string name="activity_link_enter_your_recovery_password">Enter your recovery password</string>
</resources>