From 798da50454192b054f0c65389a4964df22b86ff7 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 27 Jun 2023 09:42:28 +0200 Subject: [PATCH] Use `CommonStrings` everywhere --- .../preferences/AnalyticsPreferencesView.kt | 10 +++++----- .../analytics/impl/AnalyticsOptInView.kt | 6 +++--- .../impl/addpeople/AddPeopleView.kt | 4 ++-- .../impl/configureroom/ConfigureRoomView.kt | 10 +++++----- .../impl/root/CreateRoomRootView.kt | 10 +++++----- .../invitelist/impl/InviteListView.kt | 20 +++++++++---------- .../impl/components/InviteSummaryRow.kt | 6 +++--- .../features/leaveroom/api/LeaveRoomView.kt | 12 +++++------ .../dialogs/SlidingSyncNotSupportedDialog.kt | 6 +++--- .../login/impl/error/ErrorFormatter.kt | 6 +++--- .../loginpassword/LoginPasswordView.kt | 6 +++--- .../SearchAccountProviderView.kt | 4 ++-- .../login/impl/error/ErrorFormatterTests.kt | 8 ++++---- .../logout/api/LogoutPreferenceScreen.kt | 4 ++-- .../impl/forward/ForwardMessagesView.kt | 8 ++++---- .../impl/media/viewer/MediaViewerPresenter.kt | 6 +++--- .../impl/media/viewer/MediaViewerView.kt | 10 +++++----- .../impl/report/ReportMessagePresenter.kt | 4 ++-- .../messages/impl/report/ReportMessageView.kt | 16 +++++++-------- .../event/TimelineItemEncryptedView.kt | 7 +++---- .../event/TimelineItemRedactedView.kt | 7 +++---- .../event/TimelineItemUnknownView.kt | 7 +++---- .../api/ui/ConnectivityIndicatorView.kt | 4 ++-- .../impl/root/PreferencesRootView.kt | 8 ++++---- .../rageshake/api/crash/CrashDetectionView.kt | 8 ++++---- .../api/detection/RageshakeDetectionView.kt | 10 +++++----- .../preferences/RageshakePreferencesView.kt | 14 ++++++------- .../rageshake/impl/bugreport/BugReportView.kt | 6 +++--- .../roomdetails/impl/RoomDetailsView.kt | 6 +++--- .../impl/edit/RoomDetailsEditView.kt | 10 +++++----- .../impl/invite/RoomInviteMembersNode.kt | 6 +++--- .../impl/invite/RoomInviteMembersView.kt | 6 +++--- .../impl/members/RoomMemberListView.kt | 6 +++--- .../members/details/RoomMemberDetailsView.kt | 6 +++--- .../roomlist/impl/RoomListContextMenu.kt | 10 +++++----- .../roomlist/impl/RoomListStateProvider.kt | 4 ++-- .../features/roomlist/impl/RoomListView.kt | 8 ++++---- .../impl/components/RoomListTopBar.kt | 6 +++--- .../impl/VerifySelfSessionView.kt | 6 +++--- .../components/async/AsyncFailure.kt | 6 +++--- .../components/button/BackButton.kt | 4 ++-- .../components/dialogs/ConfirmationDialog.kt | 6 +++--- .../components/dialogs/ErrorDialog.kt | 6 +++--- .../components/dialogs/RetryDialog.kt | 8 ++++---- .../impl/DefaultRoomLastMessageFormatter.kt | 18 ++++++++--------- .../impl/StateContentFormatter.kt | 4 ++-- .../matrix/ui/components/SelectedRoom.kt | 4 ++-- .../matrix/ui/components/SelectedUser.kt | 4 ++-- .../libraries/textcomposer/TextComposer.kt | 12 +++++------ 49 files changed, 185 insertions(+), 188 deletions(-) diff --git a/features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/preferences/AnalyticsPreferencesView.kt b/features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/preferences/AnalyticsPreferencesView.kt index d656547631..4ece980969 100644 --- a/features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/preferences/AnalyticsPreferencesView.kt +++ b/features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/preferences/AnalyticsPreferencesView.kt @@ -32,7 +32,7 @@ import io.element.android.libraries.designsystem.components.preferences.Preferen import io.element.android.libraries.designsystem.components.preferences.PreferenceSwitch import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @Composable fun AnalyticsPreferencesView( @@ -43,11 +43,11 @@ fun AnalyticsPreferencesView( state.eventSink(AnalyticsOptInEvents.EnableAnalytics(isEnabled = isEnabled)) } - PreferenceCategory(title = stringResource(id = StringR.string.screen_analytics_settings_share_data)) { - val firstPart = stringResource(id = StringR.string.screen_analytics_settings_help_us_improve, state.applicationName) + PreferenceCategory(title = stringResource(id = CommonStrings.screen_analytics_settings_share_data)) { + val firstPart = stringResource(id = CommonStrings.screen_analytics_settings_help_us_improve, state.applicationName) val secondPart = buildAnnotatedStringWithColoredPart( - StringR.string.screen_analytics_settings_read_terms, - StringR.string.screen_analytics_settings_read_terms_content_link + CommonStrings.screen_analytics_settings_read_terms, + CommonStrings.screen_analytics_settings_read_terms_content_link ) val title = "$firstPart\n\n$secondPart" diff --git a/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/AnalyticsOptInView.kt b/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/AnalyticsOptInView.kt index e2af75ceca..b71c025359 100644 --- a/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/AnalyticsOptInView.kt +++ b/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/AnalyticsOptInView.kt @@ -61,7 +61,7 @@ import io.element.android.libraries.designsystem.theme.components.Icon import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.components.TextButton import io.element.android.libraries.designsystem.utils.LogCompositions -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @Composable fun AnalyticsOptInView( @@ -199,13 +199,13 @@ private fun AnalyticsOptInFooter( onClick = { eventSink(AnalyticsOptInEvents.EnableAnalytics(true)) }, modifier = Modifier.fillMaxWidth(), ) { - Text(text = stringResource(id = StringR.string.action_ok)) + Text(text = stringResource(id = CommonStrings.action_ok)) } TextButton( onClick = { eventSink(AnalyticsOptInEvents.EnableAnalytics(false)) }, modifier = Modifier.fillMaxWidth(), ) { - Text(text = stringResource(id = StringR.string.action_not_now)) + Text(text = stringResource(id = CommonStrings.action_not_now)) } } } diff --git a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeopleView.kt b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeopleView.kt index c64c1efc75..9ba9a314e9 100644 --- a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeopleView.kt +++ b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeopleView.kt @@ -42,7 +42,7 @@ import io.element.android.libraries.designsystem.theme.components.CenterAlignedT import io.element.android.libraries.designsystem.theme.components.Scaffold import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.components.TextButton -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @OptIn(ExperimentalLayoutApi::class) @Composable @@ -107,7 +107,7 @@ fun AddPeopleViewTopBar( modifier = Modifier.padding(horizontal = 8.dp), onClick = onNextPressed, ) { - val textActionResId = if (hasSelectedUsers) StringR.string.action_next else StringR.string.action_skip + val textActionResId = if (hasSelectedUsers) CommonStrings.action_next else CommonStrings.action_skip Text( text = stringResource(id = textActionResId), fontSize = 16.sp, diff --git a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/configureroom/ConfigureRoomView.kt b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/configureroom/ConfigureRoomView.kt index 703fa268e2..9f5330bf6f 100644 --- a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/configureroom/ConfigureRoomView.kt +++ b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/configureroom/ConfigureRoomView.kt @@ -65,8 +65,8 @@ import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.ui.components.AvatarActionBottomSheet import io.element.android.libraries.matrix.ui.components.SelectedUsersList import io.element.android.libraries.matrix.ui.components.UnsavedAvatar +import io.element.android.libraries.ui.strings.CommonStrings import kotlinx.coroutines.launch -import io.element.android.libraries.ui.strings.R as StringR @OptIn(ExperimentalLayoutApi::class, ExperimentalMaterialApi::class) @Composable @@ -158,7 +158,7 @@ fun ConfigureRoomView( when (state.createRoomAction) { is Async.Loading -> { - ProgressDialog(text = stringResource(StringR.string.common_creating_room)) + ProgressDialog(text = stringResource(CommonStrings.common_creating_room)) } is Async.Failure -> { @@ -198,7 +198,7 @@ fun ConfigureRoomToolbar( onClick = onNextPressed, ) { Text( - text = stringResource(StringR.string.action_create), + text = stringResource(CommonStrings.action_create), fontSize = 16.sp, ) } @@ -227,7 +227,7 @@ fun RoomNameWithAvatar( LabelledTextField( label = stringResource(R.string.screen_create_room_room_name_label), value = roomName, - placeholder = stringResource(StringR.string.common_room_name_placeholder), + placeholder = stringResource(CommonStrings.common_room_name_placeholder), singleLine = true, onValueChange = onRoomNameChanged, ) @@ -244,7 +244,7 @@ fun RoomTopic( modifier = modifier, label = stringResource(R.string.screen_create_room_topic_label), value = topic, - placeholder = stringResource(StringR.string.common_topic_placeholder), + placeholder = stringResource(CommonStrings.common_topic_placeholder), onValueChange = onTopicChanged, maxLines = 3, ) diff --git a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/root/CreateRoomRootView.kt b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/root/CreateRoomRootView.kt index 1265243c50..7d3edf8cc9 100644 --- a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/root/CreateRoomRootView.kt +++ b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/root/CreateRoomRootView.kt @@ -54,8 +54,8 @@ import io.element.android.libraries.designsystem.theme.components.IconButton import io.element.android.libraries.designsystem.theme.components.Scaffold import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.matrix.api.core.RoomId +import io.element.android.libraries.ui.strings.CommonStrings import io.element.android.libraries.designsystem.R as DrawableR -import io.element.android.libraries.ui.strings.R as StringR @OptIn(ExperimentalLayoutApi::class) @Composable @@ -107,7 +107,7 @@ fun CreateRoomRootView( when (state.startDmAction) { is Async.Loading -> { - ProgressDialog(text = stringResource(id = StringR.string.common_starting_chat)) + ProgressDialog(text = stringResource(id = CommonStrings.common_starting_chat)) } is Async.Failure -> { @@ -137,7 +137,7 @@ fun CreateRoomRootViewTopBar( modifier = modifier, title = { Text( - text = stringResource(id = StringR.string.action_start_chat), + text = stringResource(id = CommonStrings.action_start_chat), fontSize = 16.sp, fontWeight = FontWeight.SemiBold, ) @@ -146,7 +146,7 @@ fun CreateRoomRootViewTopBar( IconButton(onClick = onClosePressed) { Icon( imageVector = Icons.Default.Close, - contentDescription = stringResource(id = StringR.string.action_close), + contentDescription = stringResource(id = CommonStrings.action_close), tint = MaterialTheme.colorScheme.primary, ) } @@ -169,7 +169,7 @@ fun CreateRoomActionButtonsList( ) CreateRoomActionButton( iconRes = DrawableR.drawable.ic_share, - text = stringResource(id = StringR.string.action_invite_friends_to_app, state.applicationName), + text = stringResource(id = CommonStrings.action_invite_friends_to_app, state.applicationName), onClick = onInvitePeopleClicked, ) } diff --git a/features/invitelist/impl/src/main/kotlin/io/element/android/features/invitelist/impl/InviteListView.kt b/features/invitelist/impl/src/main/kotlin/io/element/android/features/invitelist/impl/InviteListView.kt index 5ef0402055..3bd57bf6aa 100644 --- a/features/invitelist/impl/src/main/kotlin/io/element/android/features/invitelist/impl/InviteListView.kt +++ b/features/invitelist/impl/src/main/kotlin/io/element/android/features/invitelist/impl/InviteListView.kt @@ -47,7 +47,7 @@ import io.element.android.libraries.designsystem.theme.components.Scaffold import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.components.TopAppBar import io.element.android.libraries.matrix.api.core.RoomId -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @Composable fun InviteListView( @@ -82,8 +82,8 @@ fun InviteListView( ConfirmationDialog( content = stringResource(contentResource, state.declineConfirmationDialog.name), title = stringResource(titleResource), - submitText = stringResource(StringR.string.action_decline), - cancelText = stringResource(StringR.string.action_cancel), + submitText = stringResource(CommonStrings.action_decline), + cancelText = stringResource(CommonStrings.action_cancel), emphasizeSubmitButton = true, onSubmitClicked = { state.eventSink(InviteListEvents.ConfirmDeclineInvite) }, onDismiss = { state.eventSink(InviteListEvents.CancelDeclineInvite) } @@ -92,18 +92,18 @@ fun InviteListView( if (state.acceptedAction is Async.Failure) { ErrorDialog( - content = stringResource(StringR.string.error_unknown), - title = stringResource(StringR.string.common_error), - submitText = stringResource(StringR.string.action_ok), + content = stringResource(CommonStrings.error_unknown), + title = stringResource(CommonStrings.common_error), + submitText = stringResource(CommonStrings.action_ok), onDismiss = { state.eventSink(InviteListEvents.DismissAcceptError) } ) } if (state.declinedAction is Async.Failure) { ErrorDialog( - content = stringResource(StringR.string.error_unknown), - title = stringResource(StringR.string.common_error), - submitText = stringResource(StringR.string.action_ok), + content = stringResource(CommonStrings.error_unknown), + title = stringResource(CommonStrings.common_error), + submitText = stringResource(CommonStrings.action_ok), onDismiss = { state.eventSink(InviteListEvents.DismissDeclineError) } ) } @@ -124,7 +124,7 @@ fun InviteListContent( BackButton(onClick = onBackClicked) }, title = { - Text(text = stringResource(StringR.string.action_invites_list)) + Text(text = stringResource(CommonStrings.action_invites_list)) } ) }, diff --git a/features/invitelist/impl/src/main/kotlin/io/element/android/features/invitelist/impl/components/InviteSummaryRow.kt b/features/invitelist/impl/src/main/kotlin/io/element/android/features/invitelist/impl/components/InviteSummaryRow.kt index fde6ee929f..ba5497e2bc 100644 --- a/features/invitelist/impl/src/main/kotlin/io/element/android/features/invitelist/impl/components/InviteSummaryRow.kt +++ b/features/invitelist/impl/src/main/kotlin/io/element/android/features/invitelist/impl/components/InviteSummaryRow.kt @@ -61,7 +61,7 @@ import io.element.android.libraries.designsystem.theme.components.OutlinedButton import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.noFontPadding import io.element.android.libraries.designsystem.theme.roomListUnreadIndicator -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings private val minHeight = 72.dp @@ -143,7 +143,7 @@ internal fun DefaultInviteSummaryRow( // CTAs Row(Modifier.padding(top = 12.dp)) { OutlinedButton( - content = { Text(stringResource(StringR.string.action_decline), style = ElementTextStyles.Button) }, + content = { Text(stringResource(CommonStrings.action_decline), style = ElementTextStyles.Button) }, onClick = onDeclineClicked, modifier = Modifier.weight(1f).heightIn(max = 36.dp), contentPadding = PaddingValues(horizontal = 24.dp, vertical = 0.dp), @@ -152,7 +152,7 @@ internal fun DefaultInviteSummaryRow( Spacer(modifier = Modifier.width(12.dp)) Button( - content = { Text(stringResource(StringR.string.action_accept), style = ElementTextStyles.Button) }, + content = { Text(stringResource(CommonStrings.action_accept), style = ElementTextStyles.Button) }, onClick = onAcceptClicked, modifier = Modifier.weight(1f).heightIn(max = 36.dp), contentPadding = PaddingValues(horizontal = 24.dp, vertical = 0.dp), diff --git a/features/leaveroom/api/src/main/kotlin/io/element/android/features/leaveroom/api/LeaveRoomView.kt b/features/leaveroom/api/src/main/kotlin/io/element/android/features/leaveroom/api/LeaveRoomView.kt index d1746ca917..9a3a86a94c 100644 --- a/features/leaveroom/api/src/main/kotlin/io/element/android/features/leaveroom/api/LeaveRoomView.kt +++ b/features/leaveroom/api/src/main/kotlin/io/element/android/features/leaveroom/api/LeaveRoomView.kt @@ -32,7 +32,7 @@ import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.ui.strings.R -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @Composable fun LeaveRoomView( @@ -50,19 +50,19 @@ private fun LeaveRoomConfirmationDialog( when (state.confirmation) { is LeaveRoomState.Confirmation.Hidden -> {} is LeaveRoomState.Confirmation.PrivateRoom -> LeaveRoomConfirmationDialog( - text = StringR.string.leave_room_alert_private_subtitle, + text = CommonStrings.leave_room_alert_private_subtitle, roomId = state.confirmation.roomId, eventSink = state.eventSink, ) is LeaveRoomState.Confirmation.LastUserInRoom -> LeaveRoomConfirmationDialog( - text = StringR.string.leave_room_alert_empty_subtitle, + text = CommonStrings.leave_room_alert_empty_subtitle, roomId = state.confirmation.roomId, eventSink = state.eventSink, ) is LeaveRoomState.Confirmation.Generic -> LeaveRoomConfirmationDialog( - text = StringR.string.leave_room_alert_subtitle, + text = CommonStrings.leave_room_alert_subtitle, roomId = state.confirmation.roomId, eventSink = state.eventSink, ) @@ -90,7 +90,7 @@ private fun LeaveRoomProgressDialog( when (state.progress) { is LeaveRoomState.Progress.Hidden -> {} is LeaveRoomState.Progress.Shown -> ProgressDialog( - text = stringResource(StringR.string.common_leaving_room), + text = stringResource(CommonStrings.common_leaving_room), ) } } @@ -102,7 +102,7 @@ private fun LeaveRoomErrorDialog( when (state.error) { is LeaveRoomState.Error.Hidden -> {} is LeaveRoomState.Error.Shown -> ErrorDialog( - content = stringResource(StringR.string.error_unknown), + content = stringResource(CommonStrings.error_unknown), onDismiss = { state.eventSink(LeaveRoomEvent.HideError) } ) } diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/dialogs/SlidingSyncNotSupportedDialog.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/dialogs/SlidingSyncNotSupportedDialog.kt index 32eb1b0824..5beb14b0b4 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/dialogs/SlidingSyncNotSupportedDialog.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/dialogs/SlidingSyncNotSupportedDialog.kt @@ -21,7 +21,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import io.element.android.features.login.impl.R import io.element.android.libraries.designsystem.components.dialogs.ConfirmationDialog -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @Composable internal fun SlidingSyncNotSupportedDialog( @@ -32,11 +32,11 @@ internal fun SlidingSyncNotSupportedDialog( ConfirmationDialog( modifier = modifier, onDismiss = onDismiss, - submitText = stringResource(StringR.string.action_learn_more), + submitText = stringResource(CommonStrings.action_learn_more), onSubmitClicked = onLearnMoreClicked, onCancelClicked = onDismiss, emphasizeSubmitButton = true, - title = stringResource(StringR.string.dialog_title_error), + title = stringResource(CommonStrings.dialog_title_error), content = stringResource(R.string.screen_change_server_error_no_sliding_sync_message), ) } diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/error/ErrorFormatter.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/error/ErrorFormatter.kt index ec2dc95386..15d5e616de 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/error/ErrorFormatter.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/error/ErrorFormatter.kt @@ -21,16 +21,16 @@ import io.element.android.features.login.impl.R import io.element.android.libraries.matrix.api.auth.AuthErrorCode import io.element.android.libraries.matrix.api.auth.AuthenticationException import io.element.android.libraries.matrix.api.auth.errorCode -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @StringRes fun loginError( throwable: Throwable ): Int { - val authException = throwable as? AuthenticationException ?: return StringR.string.error_unknown + val authException = throwable as? AuthenticationException ?: return CommonStrings.error_unknown return when (authException.errorCode) { AuthErrorCode.FORBIDDEN -> R.string.screen_login_error_invalid_credentials AuthErrorCode.USER_DEACTIVATED -> R.string.screen_login_error_deactivated_account - AuthErrorCode.UNKNOWN -> StringR.string.error_unknown + AuthErrorCode.UNKNOWN -> CommonStrings.error_unknown } } diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/loginpassword/LoginPasswordView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/loginpassword/LoginPasswordView.kt index 9154a0792f..9d6fe7d1ea 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/loginpassword/LoginPasswordView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/loginpassword/LoginPasswordView.kt @@ -76,7 +76,7 @@ import io.element.android.libraries.designsystem.theme.components.autofill import io.element.android.libraries.designsystem.theme.components.onTabOrEnterKeyFocusNext import io.element.android.libraries.testtags.TestTags import io.element.android.libraries.testtags.testTag -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @OptIn(ExperimentalMaterial3Api::class, ExperimentalLayoutApi::class) @Composable @@ -213,7 +213,7 @@ internal fun LoginForm( IconButton(onClick = { loginFieldState = "" }) { - Icon(imageVector = Icons.Filled.Close, contentDescription = stringResource(StringR.string.action_clear)) + Icon(imageVector = Icons.Filled.Close, contentDescription = stringResource(CommonStrings.action_clear)) } } } else null, @@ -248,7 +248,7 @@ internal fun LoginForm( val image = if (passwordVisible) Icons.Filled.Visibility else Icons.Filled.VisibilityOff val description = - if (passwordVisible) stringResource(StringR.string.a11y_hide_password) else stringResource(StringR.string.a11y_show_password) + if (passwordVisible) stringResource(CommonStrings.a11y_hide_password) else stringResource(CommonStrings.a11y_show_password) IconButton(onClick = { passwordVisible = !passwordVisible }) { Icon(imageVector = image, description) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderView.kt index 5c280cba0e..9852b78e3c 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderView.kt @@ -72,7 +72,7 @@ import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.components.onTabOrEnterKeyFocusNext import io.element.android.libraries.testtags.TestTags import io.element.android.libraries.testtags.testTag -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings /** * https://www.figma.com/file/o9p34zmiuEpZRyvZXJZAYL/FTUE?type=design&node-id=611-61435 @@ -143,7 +143,7 @@ fun SearchAccountProviderView( }) { Icon( imageVector = Icons.Filled.Close, - contentDescription = stringResource(StringR.string.action_clear) + contentDescription = stringResource(CommonStrings.action_clear) ) } } diff --git a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/error/ErrorFormatterTests.kt b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/error/ErrorFormatterTests.kt index 9bc8467bb1..c1d7e5bb6c 100644 --- a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/error/ErrorFormatterTests.kt +++ b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/error/ErrorFormatterTests.kt @@ -19,8 +19,8 @@ package io.element.android.features.login.impl.error import com.google.common.truth.Truth.assertThat import io.element.android.features.login.impl.R import io.element.android.libraries.matrix.api.auth.AuthenticationException +import io.element.android.libraries.ui.strings.CommonStrings import org.junit.Test -import io.element.android.libraries.ui.strings.R as StringR class ErrorFormatterTests { @@ -28,19 +28,19 @@ class ErrorFormatterTests { @Test fun `loginError - invalid unknown error returns unknown error message`() { val error = Throwable("Some unknown error") - assertThat(loginError(error)).isEqualTo(StringR.string.error_unknown) + assertThat(loginError(error)).isEqualTo(CommonStrings.error_unknown) } @Test fun `loginError - invalid auth error returns unknown error message`() { val error = AuthenticationException.SlidingSyncNotAvailable("Some message. Also contains M_FORBIDDEN, but won't be parsed") - assertThat(loginError(error)).isEqualTo(StringR.string.error_unknown) + assertThat(loginError(error)).isEqualTo(CommonStrings.error_unknown) } @Test fun `loginError - unknown error returns unknown error message`() { val error = AuthenticationException.Generic("M_UNKNOWN") - assertThat(loginError(error)).isEqualTo(StringR.string.error_unknown) + assertThat(loginError(error)).isEqualTo(CommonStrings.error_unknown) } @Test diff --git a/features/logout/api/src/main/kotlin/io/element/android/features/logout/api/LogoutPreferenceScreen.kt b/features/logout/api/src/main/kotlin/io/element/android/features/logout/api/LogoutPreferenceScreen.kt index a90d98d26b..343bef4498 100644 --- a/features/logout/api/src/main/kotlin/io/element/android/features/logout/api/LogoutPreferenceScreen.kt +++ b/features/logout/api/src/main/kotlin/io/element/android/features/logout/api/LogoutPreferenceScreen.kt @@ -31,7 +31,7 @@ import io.element.android.libraries.designsystem.components.preferences.Preferen import io.element.android.libraries.designsystem.components.preferences.PreferenceText import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @Composable fun LogoutPreferenceView( @@ -81,7 +81,7 @@ fun LogoutPreferenceView( fun LogoutPreferenceContent( onClick: () -> Unit = {}, ) { - PreferenceCategory(title = stringResource(id = StringR.string.settings_title_general)) { + PreferenceCategory(title = stringResource(id = CommonStrings.settings_title_general)) { PreferenceText( title = stringResource(id = R.string.screen_signout_preference_item), icon = Icons.Default.Logout, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/forward/ForwardMessagesView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/forward/ForwardMessagesView.kt index 329aff2881..3ba84cd8d5 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/forward/ForwardMessagesView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/forward/ForwardMessagesView.kt @@ -66,8 +66,8 @@ import io.element.android.libraries.designsystem.theme.roomListRoomName import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.room.RoomSummaryDetails import io.element.android.libraries.matrix.ui.components.SelectedRoom +import io.element.android.libraries.ui.strings.CommonStrings import kotlinx.collections.immutable.ImmutableList -import io.element.android.libraries.ui.strings.R as StringR @OptIn(ExperimentalMaterial3Api::class, ExperimentalLayoutApi::class) @Composable @@ -111,7 +111,7 @@ fun ForwardMessagesView( modifier = modifier, topBar = { CenterAlignedTopAppBar( - title = { Text(stringResource(StringR.string.common_forward_message), style = ElementTextStyles.Bold.callout) }, + title = { Text(stringResource(CommonStrings.common_forward_message), style = ElementTextStyles.Bold.callout) }, navigationIcon = { BackButton(onClick = { onBackButton(state) }) }, @@ -120,7 +120,7 @@ fun ForwardMessagesView( enabled = state.selectedRooms.isNotEmpty(), onClick = { state.eventSink(ForwardMessagesEvents.ForwardEvent) } ) { - Text(text = stringResource(StringR.string.action_send)) + Text(text = stringResource(CommonStrings.action_send)) } } ) @@ -132,7 +132,7 @@ fun ForwardMessagesView( .consumeWindowInsets(paddingValues) ) { SearchBar>( - placeHolderTitle = stringResource(StringR.string.action_search), + placeHolderTitle = stringResource(CommonStrings.action_search), query = state.query, onQueryChange = { state.eventSink(ForwardMessagesEvents.UpdateQuery(it)) }, active = state.isSearchActive, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/media/viewer/MediaViewerPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/media/viewer/MediaViewerPresenter.kt index 5ef1bdcd47..9ea25336e9 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/media/viewer/MediaViewerPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/media/viewer/MediaViewerPresenter.kt @@ -38,10 +38,10 @@ import io.element.android.libraries.designsystem.utils.SnackbarMessage import io.element.android.libraries.designsystem.utils.collectSnackbarMessageAsState import io.element.android.libraries.matrix.api.media.MatrixMediaLoader import io.element.android.libraries.matrix.api.media.MediaFile +import io.element.android.libraries.ui.strings.CommonStrings import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch import io.element.android.libraries.androidutils.R as UtilsR -import io.element.android.libraries.ui.strings.R as StringR class MediaViewerPresenter @AssistedInject constructor( @Assisted private val inputs: MediaViewerNode.Inputs, @@ -119,7 +119,7 @@ class MediaViewerPresenter @AssistedInject constructor( if (localMedia is Async.Success) { localMediaActions.saveOnDisk(localMedia.state) .onSuccess { - val snackbarMessage = SnackbarMessage(StringR.string.common_file_saved_on_disk_android) + val snackbarMessage = SnackbarMessage(CommonStrings.common_file_saved_on_disk_android) snackbarDispatcher.post(snackbarMessage) } .onFailure { @@ -153,7 +153,7 @@ class MediaViewerPresenter @AssistedInject constructor( return if (throwable is ActivityNotFoundException) { UtilsR.string.error_no_compatible_app_found } else { - StringR.string.error_unknown + CommonStrings.error_unknown } } } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/media/viewer/MediaViewerView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/media/viewer/MediaViewerView.kt index 9cc1ed69fd..774b7843a5 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/media/viewer/MediaViewerView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/media/viewer/MediaViewerView.kt @@ -69,8 +69,8 @@ import io.element.android.libraries.designsystem.theme.components.TopAppBar import io.element.android.libraries.designsystem.utils.rememberSnackbarHostState import io.element.android.libraries.matrix.api.media.MediaSource import io.element.android.libraries.matrix.ui.media.MediaRequestData +import io.element.android.libraries.ui.strings.CommonStrings import kotlinx.coroutines.delay -import io.element.android.libraries.ui.strings.R as StringR @Composable fun MediaViewerView( @@ -131,7 +131,7 @@ fun MediaViewerView( ) { if (state.downloadedMedia is Async.Failure) { ErrorView( - errorMessage = stringResource(id = StringR.string.error_unknown), + errorMessage = stringResource(id = CommonStrings.error_unknown), onRetry = ::onRetry, onDismiss = ::onDismissError ) @@ -188,7 +188,7 @@ private fun MediaViewerTopBar( eventSink(MediaViewerEvents.OpenWith) }, ) { - Icon(imageVector = Icons.Default.OpenInNew, contentDescription = stringResource(id = StringR.string.action_open_with)) + Icon(imageVector = Icons.Default.OpenInNew, contentDescription = stringResource(id = CommonStrings.action_open_with)) } IconButton( enabled = actionsEnabled, @@ -196,7 +196,7 @@ private fun MediaViewerTopBar( eventSink(MediaViewerEvents.SaveOnDisk) }, ) { - Icon(imageVector = Icons.Default.Download, contentDescription = stringResource(id = StringR.string.action_save)) + Icon(imageVector = Icons.Default.Download, contentDescription = stringResource(id = CommonStrings.action_save)) } IconButton( enabled = actionsEnabled, @@ -204,7 +204,7 @@ private fun MediaViewerTopBar( eventSink(MediaViewerEvents.Share) }, ) { - Icon(imageVector = Icons.Default.Share, contentDescription = stringResource(id = StringR.string.action_share)) + Icon(imageVector = Icons.Default.Share, contentDescription = stringResource(id = CommonStrings.action_share)) } } ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/report/ReportMessagePresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/report/ReportMessagePresenter.kt index 09cad8e33b..e30c3eb740 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/report/ReportMessagePresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/report/ReportMessagePresenter.kt @@ -36,9 +36,9 @@ import io.element.android.libraries.designsystem.utils.SnackbarMessage import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.ui.strings.CommonStrings import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch -import io.element.android.libraries.ui.strings.R as StringR class ReportMessagePresenter @AssistedInject constructor( private val room: MatrixRoom, @@ -91,7 +91,7 @@ class ReportMessagePresenter @AssistedInject constructor( val userIdToBlock = userId.takeIf { blockUser } room.reportContent(eventId, reason, userIdToBlock) .onSuccess { - snackbarDispatcher.post(SnackbarMessage(StringR.string.common_report_submitted)) + snackbarDispatcher.post(SnackbarMessage(CommonStrings.common_report_submitted)) } }.executeResult(result) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/report/ReportMessageView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/report/ReportMessageView.kt index 1beee54519..325ece7f14 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/report/ReportMessageView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/report/ReportMessageView.kt @@ -54,7 +54,7 @@ import io.element.android.libraries.designsystem.theme.components.CenterAlignedT import io.element.android.libraries.designsystem.theme.components.OutlinedTextField import io.element.android.libraries.designsystem.theme.components.Scaffold import io.element.android.libraries.designsystem.theme.components.Text -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @OptIn(ExperimentalMaterial3Api::class, ExperimentalLayoutApi::class) @Composable @@ -74,7 +74,7 @@ fun ReportMessageView( } is Async.Failure -> { ErrorDialog( - content = stringResource(StringR.string.error_unknown), + content = stringResource(CommonStrings.error_unknown), onDismiss = { state.eventSink(ReportMessageEvents.ClearError) } ) } @@ -86,7 +86,7 @@ fun ReportMessageView( CenterAlignedTopAppBar( title = { Text( - stringResource(StringR.string.action_report_content), + stringResource(CommonStrings.action_report_content), style = ElementTextStyles.Regular.callout, fontWeight = FontWeight.Medium, ) @@ -112,14 +112,14 @@ fun ReportMessageView( OutlinedTextField( value = state.reason, onValueChange = { state.eventSink(ReportMessageEvents.UpdateReason(it)) }, - placeholder = { Text(stringResource(StringR.string.report_content_hint)) }, + placeholder = { Text(stringResource(CommonStrings.report_content_hint)) }, enabled = !isSending, modifier = Modifier .fillMaxWidth() .heightIn(min = 90.dp) ) Text( - text = stringResource(StringR.string.report_content_explanation), + text = stringResource(CommonStrings.report_content_explanation), style = ElementTextStyles.Regular.caption1, color = MaterialTheme.colorScheme.secondary, textAlign = TextAlign.Start, @@ -133,11 +133,11 @@ fun ReportMessageView( ) { Column(modifier = Modifier.weight(1f), verticalArrangement = Arrangement.spacedBy(4.dp)) { Text( - text = stringResource(StringR.string.screen_report_content_block_user), + text = stringResource(CommonStrings.screen_report_content_block_user), style = ElementTextStyles.Regular.callout, ) Text( - text = stringResource(StringR.string.screen_report_content_block_user_hint), + text = stringResource(CommonStrings.screen_report_content_block_user_hint), style = ElementTextStyles.Regular.bodyMD, color = MaterialTheme.colorScheme.secondary, ) @@ -152,7 +152,7 @@ fun ReportMessageView( Spacer(modifier = Modifier.height(24.dp)) ButtonWithProgress( - text = stringResource(StringR.string.action_send), + text = stringResource(CommonStrings.action_send), enabled = state.reason.isNotBlank() && !isSending, showProgress = isSending, onClick = { diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemEncryptedView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemEncryptedView.kt index 0bb3863a5c..83015ecae4 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemEncryptedView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemEncryptedView.kt @@ -26,8 +26,7 @@ import io.element.android.features.messages.impl.timeline.model.event.TimelineIt import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight import io.element.android.libraries.matrix.api.timeline.item.event.UnableToDecryptContent - -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @Composable fun TimelineItemEncryptedView( @@ -35,8 +34,8 @@ fun TimelineItemEncryptedView( modifier: Modifier = Modifier ) { TimelineItemInformativeView( - text = stringResource(id = StringR.string.common_decryption_error), - iconDescription = stringResource(id = StringR.string.dialog_title_warning), + text = stringResource(id = CommonStrings.common_decryption_error), + iconDescription = stringResource(id = CommonStrings.dialog_title_warning), icon = Icons.Default.Warning, modifier = modifier ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemRedactedView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemRedactedView.kt index c8680cb6cc..846c3af63b 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemRedactedView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemRedactedView.kt @@ -25,8 +25,7 @@ import androidx.compose.ui.tooling.preview.Preview import io.element.android.features.messages.impl.timeline.model.event.TimelineItemRedactedContent import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight - -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @Composable fun TimelineItemRedactedView( @@ -34,8 +33,8 @@ fun TimelineItemRedactedView( modifier: Modifier = Modifier ) { TimelineItemInformativeView( - text = stringResource(id = StringR.string.common_message_removed), - iconDescription = stringResource(id = StringR.string.common_message_removed), + text = stringResource(id = CommonStrings.common_message_removed), + iconDescription = stringResource(id = CommonStrings.common_message_removed), icon = Icons.Default.Delete, modifier = modifier ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemUnknownView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemUnknownView.kt index 11f14b2236..7875da5fbe 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemUnknownView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemUnknownView.kt @@ -25,8 +25,7 @@ import androidx.compose.ui.tooling.preview.Preview import io.element.android.features.messages.impl.timeline.model.event.TimelineItemUnknownContent import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight - -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @Composable fun TimelineItemUnknownView( @@ -34,8 +33,8 @@ fun TimelineItemUnknownView( modifier: Modifier = Modifier ) { TimelineItemInformativeView( - text = stringResource(id = StringR.string.common_unsupported_event), - iconDescription = stringResource(id = StringR.string.dialog_title_warning), + text = stringResource(id = CommonStrings.common_unsupported_event), + iconDescription = stringResource(id = CommonStrings.dialog_title_warning), icon = Icons.Default.Info, modifier = modifier ) diff --git a/features/networkmonitor/api/src/main/kotlin/io/element/android/features/networkmonitor/api/ui/ConnectivityIndicatorView.kt b/features/networkmonitor/api/src/main/kotlin/io/element/android/features/networkmonitor/api/ui/ConnectivityIndicatorView.kt index 445c7a48ae..dd76598215 100644 --- a/features/networkmonitor/api/src/main/kotlin/io/element/android/features/networkmonitor/api/ui/ConnectivityIndicatorView.kt +++ b/features/networkmonitor/api/src/main/kotlin/io/element/android/features/networkmonitor/api/ui/ConnectivityIndicatorView.kt @@ -49,7 +49,7 @@ import io.element.android.libraries.designsystem.ElementTextStyles import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight import io.element.android.libraries.designsystem.theme.LocalColors -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @Composable fun ConnectivityIndicatorView( @@ -98,7 +98,7 @@ private fun Indicator(modifier: Modifier = Modifier) { ) Spacer(modifier = Modifier.width(8.dp)) Text( - text = stringResource(StringR.string.common_offline), + text = stringResource(CommonStrings.common_offline), style = ElementTextStyles.Regular.bodyMD.copy(fontWeight = FontWeight.Medium), color = tint, ) diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt index cbdcd13a15..6d6545d838 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt @@ -35,7 +35,7 @@ import io.element.android.libraries.designsystem.preview.ElementPreviewLight import io.element.android.libraries.designsystem.preview.LargeHeightPreview import io.element.android.libraries.matrix.api.user.MatrixUser import io.element.android.libraries.matrix.ui.components.MatrixUserProvider -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @Composable fun PreferencesRootView( @@ -50,7 +50,7 @@ fun PreferencesRootView( PreferenceView( modifier = modifier, onBackPressed = onBackPressed, - title = stringResource(id = StringR.string.common_settings) + title = stringResource(id = CommonStrings.common_settings) ) { UserPreferences(state.myUser) AnalyticsPreferencesView( @@ -71,9 +71,9 @@ fun PreferencesRootView( @Composable fun DeveloperPreferencesView(onOpenDeveloperSettings: () -> Unit) { - PreferenceCategory(title = stringResource(id = StringR.string.common_developer_options)) { + PreferenceCategory(title = stringResource(id = CommonStrings.common_developer_options)) { PreferenceText( - title = stringResource(id = StringR.string.common_developer_options), + title = stringResource(id = CommonStrings.common_developer_options), icon = Icons.Default.DeveloperMode, onClick = onOpenDeveloperSettings ) diff --git a/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/crash/CrashDetectionView.kt b/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/crash/CrashDetectionView.kt index 16d08f84e5..a3350d87e4 100644 --- a/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/crash/CrashDetectionView.kt +++ b/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/crash/CrashDetectionView.kt @@ -24,7 +24,7 @@ import io.element.android.libraries.designsystem.components.dialogs.Confirmation import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight import io.element.android.libraries.designsystem.utils.LogCompositions -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @Composable fun CrashDetectionView( @@ -56,10 +56,10 @@ fun CrashDetectionContent( onDismiss: () -> Unit = { }, ) { ConfirmationDialog( - title = stringResource(id = StringR.string.action_report_bug), + title = stringResource(id = CommonStrings.action_report_bug), content = stringResource(id = R.string.crash_detection_dialog_content, /* TODO App name */ "Element"), - submitText = stringResource(id = StringR.string.action_yes), - cancelText = stringResource(id = StringR.string.action_no), + submitText = stringResource(id = CommonStrings.action_yes), + cancelText = stringResource(id = CommonStrings.action_no), onCancelClicked = onNoClicked, onSubmitClicked = onYesClicked, onDismiss = onDismiss, diff --git a/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/detection/RageshakeDetectionView.kt b/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/detection/RageshakeDetectionView.kt index 2d89ac1f7d..d1203cb9b1 100644 --- a/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/detection/RageshakeDetectionView.kt +++ b/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/detection/RageshakeDetectionView.kt @@ -32,7 +32,7 @@ import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight import io.element.android.libraries.designsystem.utils.LogCompositions import io.element.android.libraries.designsystem.utils.OnLifecycleEvent -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @Composable fun RageshakeDetectionView( @@ -88,11 +88,11 @@ fun RageshakeDialogContent( onYesClicked: () -> Unit = { }, ) { ConfirmationDialog( - title = stringResource(id = StringR.string.action_report_bug), + title = stringResource(id = CommonStrings.action_report_bug), content = stringResource(id = R.string.rageshake_detection_dialog_content), - thirdButtonText = stringResource(id = StringR.string.action_disable), - submitText = stringResource(id = StringR.string.action_yes), - cancelText = stringResource(id = StringR.string.action_no), + thirdButtonText = stringResource(id = CommonStrings.action_disable), + submitText = stringResource(id = CommonStrings.action_yes), + cancelText = stringResource(id = CommonStrings.action_no), onCancelClicked = onNoClicked, onThirdButtonClicked = onDisableClicked, onSubmitClicked = onYesClicked, diff --git a/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/preferences/RageshakePreferencesView.kt b/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/preferences/RageshakePreferencesView.kt index e4be9b91fb..d775bce275 100644 --- a/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/preferences/RageshakePreferencesView.kt +++ b/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/preferences/RageshakePreferencesView.kt @@ -30,7 +30,7 @@ import io.element.android.libraries.designsystem.components.preferences.Preferen import io.element.android.libraries.designsystem.components.preferences.PreferenceText import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @Composable fun RageshakePreferencesView( @@ -47,23 +47,23 @@ fun RageshakePreferencesView( } Column(modifier = modifier) { - PreferenceCategory(title = stringResource(id = StringR.string.action_report_bug)) { + PreferenceCategory(title = stringResource(id = CommonStrings.action_report_bug)) { PreferenceText( - title = stringResource(id = StringR.string.action_report_bug), + title = stringResource(id = CommonStrings.action_report_bug), icon = Icons.Default.BugReport, onClick = onOpenRageshake ) } - PreferenceCategory(title = stringResource(id = StringR.string.settings_rageshake)) { + PreferenceCategory(title = stringResource(id = CommonStrings.settings_rageshake)) { if (state.isSupported) { PreferenceSwitch( - title = stringResource(id = StringR.string.preference_rageshake), + title = stringResource(id = CommonStrings.preference_rageshake), isChecked = state.isEnabled, onCheckedChange = ::onEnabledChanged ) PreferenceSlide( - title = stringResource(id = StringR.string.settings_rageshake_detection_threshold), - // summary = stringResource(id = StringR.string.settings_rageshake_detection_threshold_summary), + title = stringResource(id = CommonStrings.settings_rageshake_detection_threshold), + // summary = stringResource(id = CommonStrings.settings_rageshake_detection_threshold_summary), value = state.sensitivity, enabled = state.isEnabled, steps = 3 /* 5 possible values - steps are in ]0, 1[ */, diff --git a/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportView.kt b/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportView.kt index 0e0ebaaab2..60c36e0a29 100644 --- a/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportView.kt +++ b/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/bugreport/BugReportView.kt @@ -58,7 +58,7 @@ import io.element.android.libraries.designsystem.theme.components.CircularProgre import io.element.android.libraries.designsystem.theme.components.OutlinedTextField import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.utils.LogCompositions -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @Composable fun BugReportView( @@ -90,7 +90,7 @@ fun BugReportView( val isFormEnabled = state.sending !is Async.Loading // Title Text( - text = stringResource(id = StringR.string.action_report_bug), + text = stringResource(id = CommonStrings.action_report_bug), modifier = Modifier .fillMaxWidth() .padding(horizontal = 16.dp, vertical = 16.dp), @@ -190,7 +190,7 @@ fun BugReportView( .fillMaxWidth() .padding(vertical = 32.dp) ) { - Text(text = stringResource(id = StringR.string.action_send)) + Text(text = stringResource(id = CommonStrings.action_send)) } } when (state.sending) { diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt index 6c8509f0a3..dcf39df326 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt @@ -77,7 +77,7 @@ import io.element.android.libraries.designsystem.theme.components.Scaffold import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.components.TopAppBar import io.element.android.libraries.matrix.api.room.RoomMember -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @OptIn(ExperimentalLayoutApi::class) @Composable @@ -198,7 +198,7 @@ internal fun RoomDetailsTopBar( onDismissRequest = { showMenu = false }, ) { DropdownMenuItem( - text = { Text(stringResource(id = StringR.string.action_edit)) }, + text = { Text(stringResource(id = CommonStrings.action_edit)) }, onClick = { // Explicitly close the menu before handling the action, as otherwise it stays open during the // transition and renders really badly. @@ -250,7 +250,7 @@ internal fun TopicSection( onActionClicked: (RoomDetailsAction) -> Unit, modifier: Modifier = Modifier ) { - PreferenceCategory(title = stringResource(StringR.string.common_topic), modifier = modifier) { + PreferenceCategory(title = stringResource(CommonStrings.common_topic), modifier = modifier) { if (roomTopic is RoomTopicState.CanAddTopic) { PreferenceText( title = stringResource(R.string.screen_room_details_add_topic_title), diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/edit/RoomDetailsEditView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/edit/RoomDetailsEditView.kt index f7c2889505..f266b1dfef 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/edit/RoomDetailsEditView.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/edit/RoomDetailsEditView.kt @@ -76,8 +76,8 @@ import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.components.TextButton import io.element.android.libraries.matrix.ui.components.AvatarActionBottomSheet import io.element.android.libraries.matrix.ui.components.UnsavedAvatar +import io.element.android.libraries.ui.strings.CommonStrings import kotlinx.coroutines.launch -import io.element.android.libraries.ui.strings.R as StringR @OptIn(ExperimentalMaterialApi::class, ExperimentalMaterial3Api::class) @Composable @@ -121,7 +121,7 @@ fun RoomDetailsEditView( }, ) { Text( - text = stringResource(StringR.string.action_save), + text = stringResource(CommonStrings.action_save), fontSize = 16.sp, ) } @@ -145,7 +145,7 @@ fun RoomDetailsEditView( LabelledTextField( label = stringResource(id = R.string.screen_room_details_room_name_label), value = state.roomName, - placeholder = stringResource(StringR.string.common_room_name_placeholder), + placeholder = stringResource(CommonStrings.common_room_name_placeholder), singleLine = true, onValueChange = { state.eventSink(RoomDetailsEditEvents.UpdateRoomName(it)) }, ) @@ -160,9 +160,9 @@ fun RoomDetailsEditView( if (state.canChangeTopic) { LabelledTextField( - label = stringResource(StringR.string.common_topic), + label = stringResource(CommonStrings.common_topic), value = state.roomTopic, - placeholder = stringResource(StringR.string.common_topic_placeholder), + placeholder = stringResource(CommonStrings.common_topic_placeholder), maxLines = 10, onValueChange = { state.eventSink(RoomDetailsEditEvents.UpdateRoomTopic(it)) }, ) diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/invite/RoomInviteMembersNode.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/invite/RoomInviteMembersNode.kt index 22e91ce5a7..8b318e7ead 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/invite/RoomInviteMembersNode.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/invite/RoomInviteMembersNode.kt @@ -28,11 +28,11 @@ import io.element.android.anvilannotations.ContributesNode import io.element.android.libraries.core.coroutine.CoroutineDispatchers import io.element.android.libraries.di.RoomScope import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.ui.strings.CommonStrings import io.element.android.services.apperror.api.AppErrorStateService import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.SupervisorJob import kotlinx.coroutines.launch -import io.element.android.libraries.ui.strings.R as StringR @ContributesNode(RoomScope::class) class RoomInviteMembersNode @AssistedInject constructor( @@ -65,8 +65,8 @@ class RoomInviteMembersNode @AssistedInject constructor( if (anyInviteFailed) { appErrorStateService.showError( - title = context.getString(StringR.string.common_unable_to_invite_title), - body = context.getString(StringR.string.common_unable_to_invite_message), + title = context.getString(CommonStrings.common_unable_to_invite_title), + body = context.getString(CommonStrings.common_unable_to_invite_message), ) } diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/invite/RoomInviteMembersView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/invite/RoomInviteMembersView.kt index 867d2f433d..5c07351db5 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/invite/RoomInviteMembersView.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/invite/RoomInviteMembersView.kt @@ -52,8 +52,8 @@ import io.element.android.libraries.matrix.ui.components.CheckableUserRow import io.element.android.libraries.matrix.ui.components.SelectedUsersList import io.element.android.libraries.matrix.ui.model.getAvatarData import io.element.android.libraries.matrix.ui.model.getBestName +import io.element.android.libraries.ui.strings.CommonStrings import kotlinx.collections.immutable.ImmutableList -import io.element.android.libraries.ui.strings.R as StringR @OptIn(ExperimentalLayoutApi::class) @Composable @@ -131,7 +131,7 @@ fun RoomInviteMembersTopBar( TextButton( onClick = onSendPressed, content = { - Text(stringResource(StringR.string.action_send)) + Text(stringResource(CommonStrings.action_send)) }, enabled = canSend, ) @@ -147,7 +147,7 @@ private fun RoomInviteMembersSearchBar( selectedUsers: ImmutableList, active: Boolean, modifier: Modifier = Modifier, - placeHolderTitle: String = stringResource(StringR.string.common_search_for_someone), + placeHolderTitle: String = stringResource(CommonStrings.common_search_for_someone), onActiveChanged: (Boolean) -> Unit = {}, onTextChanged: (String) -> Unit = {}, onUserToggled: (MatrixUser) -> Unit = {}, diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/RoomMemberListView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/RoomMemberListView.kt index 7e87062481..5e181ec1c3 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/RoomMemberListView.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/RoomMemberListView.kt @@ -61,8 +61,8 @@ import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.room.RoomMember import io.element.android.libraries.matrix.api.user.MatrixUser import io.element.android.libraries.matrix.ui.components.MatrixUserRow +import io.element.android.libraries.ui.strings.CommonStrings import kotlinx.collections.immutable.ImmutableList -import io.element.android.libraries.ui.strings.R as StringR @OptIn(ExperimentalLayoutApi::class) @Composable @@ -100,7 +100,7 @@ fun RoomMemberListView( query = state.searchQuery, state = state.searchResults, active = state.isSearchActive, - placeHolderTitle = stringResource(StringR.string.common_search_for_someone), + placeHolderTitle = stringResource(CommonStrings.common_search_for_someone), onActiveChanged = { state.eventSink(RoomMemberListEvents.OnSearchActiveChanged(it)) }, onTextChanged = { state.eventSink(RoomMemberListEvents.UpdateSearchQuery(it)) }, onUserSelected = ::onUserSelected, @@ -221,7 +221,7 @@ private fun RoomMemberListTopBar( onClick = onInvitePressed, ) { Text( - text = stringResource(StringR.string.action_invite), + text = stringResource(CommonStrings.action_invite), fontSize = 16.sp, ) } diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/details/RoomMemberDetailsView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/details/RoomMemberDetailsView.kt index f995cb14b6..b9879be1cf 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/details/RoomMemberDetailsView.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/details/RoomMemberDetailsView.kt @@ -57,7 +57,7 @@ import io.element.android.libraries.designsystem.preview.LargeHeightPreview import io.element.android.libraries.designsystem.theme.components.Scaffold import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.components.TopAppBar -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @OptIn(ExperimentalMaterial3Api::class, ExperimentalLayoutApi::class) @Composable @@ -129,7 +129,7 @@ internal fun RoomMemberHeaderSection( @Composable internal fun RoomMemberMainActionsSection(onShareUser: () -> Unit, modifier: Modifier = Modifier) { Row(modifier.fillMaxWidth(), horizontalArrangement = Arrangement.Center) { - MainActionButton(title = stringResource(StringR.string.action_share), icon = Icons.Outlined.Share, onClick = onShareUser) + MainActionButton(title = stringResource(CommonStrings.action_share), icon = Icons.Outlined.Share, onClick = onShareUser) } } @@ -137,7 +137,7 @@ internal fun RoomMemberMainActionsSection(onShareUser: () -> Unit, modifier: Mod internal fun SendMessageSection(onSendMessage: () -> Unit, modifier: Modifier = Modifier) { PreferenceCategory(modifier = modifier) { PreferenceText( - title = stringResource(StringR.string.action_send_message), + title = stringResource(CommonStrings.action_send_message), icon = Icons.Outlined.ChatBubbleOutline, onClick = onSendMessage, ) diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListContextMenu.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListContextMenu.kt index 4e172bbbfe..fb71a241ce 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListContextMenu.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListContextMenu.kt @@ -41,7 +41,7 @@ import io.element.android.libraries.designsystem.theme.components.Icon import io.element.android.libraries.designsystem.theme.components.ModalBottomSheet import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.matrix.api.core.RoomId -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -86,13 +86,13 @@ private fun RoomListModalBottomSheetContent( ) ListItem( headlineContent = { - Text(text = stringResource(id = StringR.string.common_settings)) + Text(text = stringResource(id = CommonStrings.common_settings)) }, modifier = Modifier.clickable { onRoomSettingsClicked(contextMenu.roomId) }, leadingContent = { Icon( imageVector = Icons.Outlined.Settings, - contentDescription = stringResource(id = StringR.string.common_settings), + contentDescription = stringResource(id = CommonStrings.common_settings), modifier = Modifier.size(20.dp), tint = MaterialTheme.colorScheme.onSurface, ) @@ -101,7 +101,7 @@ private fun RoomListModalBottomSheetContent( ListItem( headlineContent = { Text( - text = stringResource(id = StringR.string.action_leave_room), + text = stringResource(id = CommonStrings.action_leave_room), color = ElementTheme.colors.textActionCritical, ) }, @@ -109,7 +109,7 @@ private fun RoomListModalBottomSheetContent( leadingContent = { Icon( resourceId = VectorIcons.DoorOpen, - contentDescription = stringResource(id = StringR.string.action_leave_room), + contentDescription = stringResource(id = CommonStrings.action_leave_room), modifier = Modifier.size(20.dp), tint = ElementTheme.colors.textActionCritical, ) diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListStateProvider.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListStateProvider.kt index c5598b5426..32b09a288d 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListStateProvider.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListStateProvider.kt @@ -25,16 +25,16 @@ import io.element.android.libraries.designsystem.utils.SnackbarMessage import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.user.MatrixUser +import io.element.android.libraries.ui.strings.CommonStrings import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf -import io.element.android.libraries.ui.strings.R as StringR open class RoomListStateProvider : PreviewParameterProvider { override val values: Sequence get() = sequenceOf( aRoomListState(), aRoomListState().copy(displayVerificationPrompt = true), - aRoomListState().copy(snackbarMessage = SnackbarMessage(StringR.string.common_verification_complete)), + aRoomListState().copy(snackbarMessage = SnackbarMessage(CommonStrings.common_verification_complete)), aRoomListState().copy(hasNetworkConnection = false), aRoomListState().copy(invitesState = InvitesState.SeenInvites), aRoomListState().copy(invitesState = InvitesState.NewInvites), diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListView.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListView.kt index b2f5e0f933..849378518d 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListView.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListView.kt @@ -83,8 +83,8 @@ import io.element.android.libraries.designsystem.theme.roomListUnreadIndicator import io.element.android.libraries.designsystem.utils.LogCompositions import io.element.android.libraries.designsystem.utils.rememberSnackbarHostState import io.element.android.libraries.matrix.api.core.RoomId +import io.element.android.libraries.ui.strings.CommonStrings import io.element.android.libraries.designsystem.R as DrawableR -import io.element.android.libraries.ui.strings.R as StringR @Composable fun RoomListView( @@ -229,7 +229,7 @@ fun RoomListContent( verticalAlignment = Alignment.CenterVertically, ) { Text( - text = stringResource(StringR.string.action_invites_list), + text = stringResource(CommonStrings.action_invites_list), fontSize = 14.sp, style = noFontPadding, ) @@ -314,7 +314,7 @@ internal fun RequestVerificationHeader( Icon( modifier = Modifier.clickable(onClick = onDismissClicked), imageVector = Icons.Default.Close, - contentDescription = stringResource(StringR.string.action_close) + contentDescription = stringResource(CommonStrings.action_close) ) } Spacer(modifier = Modifier.height(4.dp)) @@ -325,7 +325,7 @@ internal fun RequestVerificationHeader( contentPadding = PaddingValues(horizontal = 20.dp, vertical = 7.dp), onClick = onVerifyClicked, ) { - Text(stringResource(StringR.string.action_continue), style = ElementTextStyles.Button) + Text(stringResource(CommonStrings.action_continue), style = ElementTextStyles.Button) } } } diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomListTopBar.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomListTopBar.kt index f7fee35c75..10b02084b9 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomListTopBar.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomListTopBar.kt @@ -48,7 +48,7 @@ import io.element.android.libraries.matrix.api.user.MatrixUser import io.element.android.libraries.matrix.ui.model.getAvatarData import io.element.android.libraries.testtags.TestTags import io.element.android.libraries.testtags.testTag -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -109,7 +109,7 @@ private fun DefaultRoomListTopBar( onClick = onOpenSettings ) { val avatarData by remember { derivedStateOf { matrixUser.getAvatarData() } } - Avatar(avatarData, contentDescription = stringResource(StringR.string.common_settings)) + Avatar(avatarData, contentDescription = stringResource(CommonStrings.common_settings)) } } }, @@ -117,7 +117,7 @@ private fun DefaultRoomListTopBar( IconButton( onClick = onSearchClicked, ) { - Icon(Icons.Default.Search, contentDescription = stringResource(StringR.string.action_search)) + Icon(Icons.Default.Search, contentDescription = stringResource(CommonStrings.action_search)) } }, scrollBehavior = scrollBehavior, diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionView.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionView.kt index 2173c74897..31964e1f6f 100644 --- a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionView.kt +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionView.kt @@ -51,8 +51,8 @@ import io.element.android.libraries.designsystem.preview.ElementPreviewLight import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.matrix.api.verification.VerificationEmoji +import io.element.android.libraries.ui.strings.CommonStrings import io.element.android.features.verifysession.impl.VerifySelfSessionState.VerificationStep as FlowStep -import io.element.android.libraries.ui.strings.R as StringR @Composable fun VerifySelfSessionView( @@ -190,8 +190,8 @@ internal fun BottomMenu(screenState: VerifySelfSessionState, goBack: () -> Unit) else -> null } val negativeButtonTitle = when (verificationViewState) { - FlowStep.Initial -> StringR.string.action_cancel - FlowStep.Canceled -> StringR.string.action_cancel + FlowStep.Initial -> CommonStrings.action_cancel + FlowStep.Canceled -> CommonStrings.action_cancel is FlowStep.Verifying -> R.string.screen_session_verification_they_dont_match else -> null } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/async/AsyncFailure.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/async/AsyncFailure.kt index e81bc140bf..b5aa9b85d3 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/async/AsyncFailure.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/async/AsyncFailure.kt @@ -31,7 +31,7 @@ import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight import io.element.android.libraries.designsystem.theme.components.Button import io.element.android.libraries.designsystem.theme.components.Text -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @Composable fun AsyncFailure( @@ -45,11 +45,11 @@ fun AsyncFailure( .padding(vertical = 32.dp), horizontalAlignment = Alignment.CenterHorizontally, ) { - Text(text = throwable.message ?: stringResource(id = StringR.string.error_unknown)) + Text(text = throwable.message ?: stringResource(id = CommonStrings.error_unknown)) if (onRetry != null) { Spacer(modifier = Modifier.height(24.dp)) Button(onClick = onRetry) { - Text(text = stringResource(id = StringR.string.action_retry)) + Text(text = stringResource(id = CommonStrings.action_retry)) } } } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/button/BackButton.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/button/BackButton.kt index f959fa02a6..b16013775c 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/button/BackButton.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/button/BackButton.kt @@ -28,14 +28,14 @@ import io.element.android.libraries.designsystem.preview.ElementThemedPreview import io.element.android.libraries.designsystem.preview.PreviewGroup import io.element.android.libraries.designsystem.theme.components.Icon import io.element.android.libraries.designsystem.theme.components.IconButton -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @Composable fun BackButton( onClick: () -> Unit, modifier: Modifier = Modifier, imageVector: ImageVector = Icons.Default.ArrowBack, - contentDescription: String = stringResource(StringR.string.action_back), + contentDescription: String = stringResource(CommonStrings.action_back), enabled: Boolean = true, ) { IconButton( diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ConfirmationDialog.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ConfirmationDialog.kt index 9d5ea55eb6..b11c9f878d 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ConfirmationDialog.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ConfirmationDialog.kt @@ -31,7 +31,7 @@ import androidx.compose.ui.unit.Dp import io.element.android.libraries.designsystem.preview.ElementThemedPreview import io.element.android.libraries.designsystem.preview.PreviewGroup import io.element.android.libraries.designsystem.utils.BooleanProvider -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -41,8 +41,8 @@ fun ConfirmationDialog( onDismiss: () -> Unit, modifier: Modifier = Modifier, title: String? = null, - submitText: String = stringResource(id = StringR.string.action_ok), - cancelText: String = stringResource(id = StringR.string.action_cancel), + submitText: String = stringResource(id = CommonStrings.action_ok), + cancelText: String = stringResource(id = CommonStrings.action_cancel), thirdButtonText: String? = null, emphasizeSubmitButton: Boolean = false, onCancelClicked: () -> Unit = onDismiss, diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ErrorDialog.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ErrorDialog.kt index 9a66e24425..d69281b6e9 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ErrorDialog.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/ErrorDialog.kt @@ -28,7 +28,7 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import io.element.android.libraries.designsystem.preview.ElementThemedPreview import io.element.android.libraries.designsystem.preview.PreviewGroup -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -91,8 +91,8 @@ private fun ErrorDialogContent( } object ErrorDialogDefaults { - val title: String @Composable get() = stringResource(id = StringR.string.dialog_title_error) - val submitText: String @Composable get() = stringResource(id = StringR.string.action_ok) + val title: String @Composable get() = stringResource(id = CommonStrings.dialog_title_error) + val submitText: String @Composable get() = stringResource(id = CommonStrings.action_ok) } @Preview(group = PreviewGroup.Dialogs) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/RetryDialog.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/RetryDialog.kt index 79e650fd37..731f688b82 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/RetryDialog.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/dialogs/RetryDialog.kt @@ -29,7 +29,7 @@ import androidx.compose.ui.unit.Dp import io.element.android.libraries.designsystem.preview.ElementThemedPreview import io.element.android.libraries.designsystem.preview.PreviewGroup import io.element.android.libraries.designsystem.theme.components.Text -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @Composable fun RetryDialog( @@ -109,9 +109,9 @@ private fun RetryDialogContent( } object RetryDialogDefaults { - val title: String @Composable get() = stringResource(id = StringR.string.dialog_title_error) - val retryText: String @Composable get() = stringResource(id = StringR.string.action_retry) - val dismissText: String @Composable get() = stringResource(id = StringR.string.action_cancel) + val title: String @Composable get() = stringResource(id = CommonStrings.dialog_title_error) + val retryText: String @Composable get() = stringResource(id = CommonStrings.action_retry) + val dismissText: String @Composable get() = stringResource(id = CommonStrings.action_cancel) } @Preview(group = PreviewGroup.Dialogs) diff --git a/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt b/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt index 327c18cb34..1c76d46998 100644 --- a/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt +++ b/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt @@ -47,9 +47,9 @@ import io.element.android.libraries.matrix.api.timeline.item.event.UnableToDecry import io.element.android.libraries.matrix.api.timeline.item.event.UnknownContent import io.element.android.libraries.matrix.api.timeline.item.event.UnknownMessageType import io.element.android.libraries.matrix.api.timeline.item.event.VideoMessageType +import io.element.android.libraries.ui.strings.CommonStrings import io.element.android.services.toolbox.api.strings.StringProvider import javax.inject.Inject -import io.element.android.libraries.ui.strings.R as StringR @ContributesBinding(SessionScope::class) class DefaultRoomLastMessageFormatter @Inject constructor( @@ -66,7 +66,7 @@ class DefaultRoomLastMessageFormatter @Inject constructor( return when (val content = event.content) { is MessageContent -> processMessageContents(content, senderDisplayName, isDmRoom) RedactedContent -> { - val message = sp.getString(StringR.string.common_message_removed) + val message = sp.getString(CommonStrings.common_message_removed) if (!isDmRoom) { prefix(message, senderDisplayName) } else { @@ -77,7 +77,7 @@ class DefaultRoomLastMessageFormatter @Inject constructor( content.body } is UnableToDecryptContent -> { - val message = sp.getString(StringR.string.common_decryption_error) + val message = sp.getString(CommonStrings.common_decryption_error) if (!isDmRoom) { prefix(message, senderDisplayName) } else { @@ -94,7 +94,7 @@ class DefaultRoomLastMessageFormatter @Inject constructor( stateContentFormatter.format(content, senderDisplayName, isOutgoing, RenderingMode.RoomList) } is FailedToParseMessageLikeContent, is FailedToParseStateContent, is UnknownContent -> { - prefixIfNeeded(sp.getString(StringR.string.common_unsupported_event), senderDisplayName, isDmRoom) + prefixIfNeeded(sp.getString(CommonStrings.common_unsupported_event), senderDisplayName, isDmRoom) } } } @@ -111,19 +111,19 @@ class DefaultRoomLastMessageFormatter @Inject constructor( messageType.body } is VideoMessageType -> { - sp.getString(StringR.string.common_video) + sp.getString(CommonStrings.common_video) } is ImageMessageType -> { - sp.getString(StringR.string.common_image) + sp.getString(CommonStrings.common_image) } is FileMessageType -> { - sp.getString(StringR.string.common_file) + sp.getString(CommonStrings.common_file) } is AudioMessageType -> { - sp.getString(StringR.string.common_audio) + sp.getString(CommonStrings.common_audio) } UnknownMessageType -> { - sp.getString(StringR.string.common_unsupported_event) + sp.getString(CommonStrings.common_unsupported_event) } is NoticeMessageType -> { messageType.body diff --git a/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/StateContentFormatter.kt b/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/StateContentFormatter.kt index ccf9c2976a..678e0f1d53 100644 --- a/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/StateContentFormatter.kt +++ b/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/StateContentFormatter.kt @@ -19,10 +19,10 @@ package io.element.android.libraries.eventformatter.impl import io.element.android.libraries.eventformatter.impl.mode.RenderingMode import io.element.android.libraries.matrix.api.timeline.item.event.OtherState import io.element.android.libraries.matrix.api.timeline.item.event.StateContent +import io.element.android.libraries.ui.strings.CommonStrings import io.element.android.services.toolbox.api.strings.StringProvider import timber.log.Timber import javax.inject.Inject -import io.element.android.libraries.ui.strings.R as StringR class StateContentFormatter @Inject constructor( private val sp: StringProvider, @@ -50,7 +50,7 @@ class StateContentFormatter @Inject constructor( sp.getString(R.string.state_event_room_created, senderDisplayName) } } - is OtherState.RoomEncryption -> sp.getString(StringR.string.common_encryption_enabled) + is OtherState.RoomEncryption -> sp.getString(CommonStrings.common_encryption_enabled) is OtherState.RoomName -> { val hasRoomName = content.name != null when { diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedRoom.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedRoom.kt index da305ce212..1bd02c76f4 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedRoom.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedRoom.kt @@ -48,7 +48,7 @@ import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.room.RoomSummaryDetails import io.element.android.libraries.matrix.api.user.MatrixUser -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @Composable fun SelectedRoom( @@ -84,7 +84,7 @@ fun SelectedRoom( ) { Icon( imageVector = Icons.Default.Close, - contentDescription = stringResource(id = StringR.string.action_remove), + contentDescription = stringResource(id = CommonStrings.action_remove), tint = MaterialTheme.colorScheme.onPrimary, modifier = Modifier.padding(2.dp) ) diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedUser.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedUser.kt index a5d8b9a465..ed6dc7e95a 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedUser.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedUser.kt @@ -47,7 +47,7 @@ import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.matrix.api.user.MatrixUser import io.element.android.libraries.matrix.ui.model.getAvatarData import io.element.android.libraries.matrix.ui.model.getBestName -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @Composable fun SelectedUser( @@ -83,7 +83,7 @@ fun SelectedUser( ) { Icon( imageVector = Icons.Default.Close, - contentDescription = stringResource(id = StringR.string.action_remove), + contentDescription = stringResource(id = CommonStrings.action_remove), tint = MaterialTheme.colorScheme.onPrimary, modifier = Modifier.padding(2.dp) ) diff --git a/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt b/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt index 0256d7e529..afc0c30c55 100644 --- a/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt +++ b/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt @@ -79,7 +79,7 @@ import io.element.android.libraries.matrix.api.media.MediaSource import io.element.android.libraries.matrix.ui.components.AttachmentThumbnail import io.element.android.libraries.matrix.ui.components.AttachmentThumbnailInfo import io.element.android.libraries.matrix.ui.components.AttachmentThumbnailType -import io.element.android.libraries.ui.strings.R as StringR +import io.element.android.libraries.ui.strings.CommonStrings @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -146,7 +146,7 @@ fun TextComposer( contentPadding = PaddingValues(top = 10.dp, bottom = 10.dp, start = 12.dp, end = 42.dp), interactionSource = remember { MutableInteractionSource() }, placeholder = { - Text(stringResource(StringR.string.common_message), style = defaultTypography) + Text(stringResource(CommonStrings.common_message), style = defaultTypography) }, colors = TextFieldDefaults.colors( unfocusedTextColor = MaterialTheme.colorScheme.secondary, @@ -225,7 +225,7 @@ private fun EditingModeView( ) Icon( imageVector = Icons.Default.Close, - contentDescription = stringResource(StringR.string.action_close), + contentDescription = stringResource(CommonStrings.action_close), tint = MaterialTheme.colorScheme.secondary, modifier = Modifier .size(16.dp) @@ -283,7 +283,7 @@ private fun ReplyToModeView( ) Icon( imageVector = Icons.Default.Close, - contentDescription = stringResource(StringR.string.action_close), + contentDescription = stringResource(CommonStrings.action_close), tint = MaterialTheme.colorScheme.secondary, modifier = Modifier .size(16.dp) @@ -367,8 +367,8 @@ private fun BoxScope.SendButton( else -> R.drawable.ic_send } val contentDescription = when (composerMode) { - is MessageComposerMode.Edit -> stringResource(StringR.string.action_edit) - else -> stringResource(StringR.string.action_send) + is MessageComposerMode.Edit -> stringResource(CommonStrings.action_edit) + else -> stringResource(CommonStrings.action_send) } Icon( modifier = Modifier.size(16.dp),