Fix wording issue, 'screen_qr_code_login_no_camera_permission_state_description' needs the application name.

This commit is contained in:
Benoit Marty 2024-06-04 09:12:20 +02:00
parent 5835a025b4
commit b6803d4b7a
5 changed files with 11 additions and 3 deletions

View file

@ -59,6 +59,7 @@ class QrCodeIntroPresenter @Inject constructor(
} }
return QrCodeIntroState( return QrCodeIntroState(
appName = buildMeta.applicationName,
desktopAppName = buildMeta.desktopApplicationName, desktopAppName = buildMeta.desktopApplicationName,
cameraPermissionState = cameraPermissionState, cameraPermissionState = cameraPermissionState,
canContinue = canContinue, canContinue = canContinue,

View file

@ -19,6 +19,7 @@ package io.element.android.features.login.impl.screens.qrcode.intro
import io.element.android.libraries.permissions.api.PermissionsState import io.element.android.libraries.permissions.api.PermissionsState
data class QrCodeIntroState( data class QrCodeIntroState(
val appName: String,
val desktopAppName: String, val desktopAppName: String,
val cameraPermissionState: PermissionsState, val cameraPermissionState: PermissionsState,
val canContinue: Boolean, val canContinue: Boolean,

View file

@ -31,6 +31,7 @@ open class QrCodeIntroStateProvider : PreviewParameterProvider<QrCodeIntroState>
} }
fun aQrCodeIntroState( fun aQrCodeIntroState(
appName: String = "AppName",
desktopAppName: String = "Element", desktopAppName: String = "Element",
cameraPermissionState: PermissionsState = aPermissionsState( cameraPermissionState: PermissionsState = aPermissionsState(
showDialog = false, showDialog = false,
@ -39,6 +40,7 @@ fun aQrCodeIntroState(
canContinue: Boolean = false, canContinue: Boolean = false,
eventSink: (QrCodeIntroEvents) -> Unit = {}, eventSink: (QrCodeIntroEvents) -> Unit = {},
) = QrCodeIntroState( ) = QrCodeIntroState(
appName = appName,
desktopAppName = desktopAppName, desktopAppName = desktopAppName,
cameraPermissionState = cameraPermissionState, cameraPermissionState = cameraPermissionState,
canContinue = canContinue, canContinue = canContinue,

View file

@ -66,7 +66,7 @@ fun QrCodeIntroView(
PermissionsView( PermissionsView(
title = stringResource(R.string.screen_qr_code_login_no_camera_permission_state_title), title = stringResource(R.string.screen_qr_code_login_no_camera_permission_state_title),
content = stringResource(R.string.screen_qr_code_login_no_camera_permission_state_description), content = stringResource(R.string.screen_qr_code_login_no_camera_permission_state_description, state.appName),
icon = { Icon(imageVector = CompoundIcons.TakePhotoSolid(), contentDescription = null) }, icon = { Icon(imageVector = CompoundIcons.TakePhotoSolid(), contentDescription = null) },
state = state.cameraPermissionState, state = state.cameraPermissionState,
) )

View file

@ -35,7 +35,8 @@ class QrCodeIntroPresenterTest {
presenter.present() presenter.present()
}.test { }.test {
awaitItem().run { awaitItem().run {
assertThat(desktopAppName).isEmpty() assertThat(appName).isEqualTo("AppName")
assertThat(desktopAppName).isEqualTo("DesktopAppName")
assertThat(cameraPermissionState.permission).isEqualTo("android.permission.POST_NOTIFICATIONS") assertThat(cameraPermissionState.permission).isEqualTo("android.permission.POST_NOTIFICATIONS")
assertThat(canContinue).isFalse() assertThat(canContinue).isFalse()
} }
@ -69,7 +70,10 @@ class QrCodeIntroPresenterTest {
} }
private fun createQrCodeIntroPresenter( private fun createQrCodeIntroPresenter(
buildMeta: BuildMeta = aBuildMeta(), buildMeta: BuildMeta = aBuildMeta(
applicationName = "AppName",
desktopApplicationName = "DesktopAppName",
),
permissionsPresenterFactory: FakePermissionsPresenterFactory = FakePermissionsPresenterFactory(), permissionsPresenterFactory: FakePermissionsPresenterFactory = FakePermissionsPresenterFactory(),
): QrCodeIntroPresenter { ): QrCodeIntroPresenter {
return QrCodeIntroPresenter( return QrCodeIntroPresenter(