Lambda parameters in a composable function should be in present tense, not past tense.

https://mrmans0n.github.io/compose-rules/rules/#naming-parameters-properly
This commit is contained in:
Benoit Marty 2024-05-29 10:48:29 +02:00
parent 0ba5537082
commit 37d9a9f5a9
250 changed files with 1698 additions and 1698 deletions

View file

@ -87,23 +87,23 @@ class SecureBackupFlowNode @AssistedInject constructor(
return when (navTarget) {
NavTarget.Root -> {
val callback = object : SecureBackupRootNode.Callback {
override fun onSetupClicked() {
override fun onSetupClick() {
backstack.push(NavTarget.Setup)
}
override fun onChangeClicked() {
override fun onChangeClick() {
backstack.push(NavTarget.Change)
}
override fun onDisableClicked() {
override fun onDisableClick() {
backstack.push(NavTarget.Disable)
}
override fun onEnableClicked() {
override fun onEnableClick() {
backstack.push(NavTarget.Enable)
}
override fun onConfirmRecoveryKeyClicked() {
override fun onConfirmRecoveryKeyClick() {
backstack.push(NavTarget.EnterRecoveryKey)
}
}

View file

@ -38,7 +38,7 @@ class CreateNewRecoveryKeyNode @AssistedInject constructor(
CreateNewRecoveryKeyView(
desktopApplicationName = buildMeta.desktopApplicationName,
modifier = modifier,
onBackClicked = ::navigateUp,
onBackClick = ::navigateUp,
)
}
}

View file

@ -50,13 +50,13 @@ import io.element.android.libraries.designsystem.theme.components.TopAppBar
@Composable
fun CreateNewRecoveryKeyView(
desktopApplicationName: String,
onBackClicked: () -> Unit,
onBackClick: () -> Unit,
modifier: Modifier = Modifier,
) {
Scaffold(
modifier = modifier,
topBar = {
TopAppBar(title = {}, navigationIcon = { BackButton(onClick = onBackClicked) })
TopAppBar(title = {}, navigationIcon = { BackButton(onClick = onBackClick) })
}
) { padding ->
Column(
@ -131,7 +131,7 @@ internal fun CreateNewRecoveryKeyViewPreview() {
ElementPreview {
CreateNewRecoveryKeyView(
desktopApplicationName = "Element",
onBackClicked = {},
onBackClick = {},
)
}
}

View file

@ -38,8 +38,8 @@ class SecureBackupDisableNode @AssistedInject constructor(
SecureBackupDisableView(
state = state,
modifier = modifier,
onDone = ::navigateUp,
onBackClicked = ::navigateUp,
onSuccess = ::navigateUp,
onBackClick = ::navigateUp,
)
}
}

View file

@ -43,13 +43,13 @@ import io.element.android.libraries.designsystem.theme.components.Text
@Composable
fun SecureBackupDisableView(
state: SecureBackupDisableState,
onDone: () -> Unit,
onBackClicked: () -> Unit,
onSuccess: () -> Unit,
onBackClick: () -> Unit,
modifier: Modifier = Modifier,
) {
FlowStepPage(
modifier = modifier,
onBackClicked = onBackClicked,
onBackClick = onBackClick,
title = stringResource(id = R.string.screen_key_backup_disable_title),
subTitle = stringResource(id = R.string.screen_key_backup_disable_description),
iconVector = CompoundIcons.KeyOffSolid(),
@ -68,7 +68,7 @@ fun SecureBackupDisableView(
progressDialog = {},
errorMessage = { it.message ?: it.toString() },
onErrorDismiss = { state.eventSink.invoke(SecureBackupDisableEvents.DismissDialogs) },
onSuccess = { onDone() },
onSuccess = { onSuccess() },
)
}
@ -79,7 +79,7 @@ private fun SecureBackupDisableConfirmationDialog(onConfirm: () -> Unit, onDismi
content = stringResource(id = R.string.screen_key_backup_disable_confirmation_description),
submitText = stringResource(id = R.string.screen_key_backup_disable_confirmation_action_turn_off),
destructiveSubmit = true,
onSubmitClicked = onConfirm,
onSubmitClick = onConfirm,
onDismiss = onDismiss,
)
}
@ -135,7 +135,7 @@ internal fun SecureBackupDisableViewPreview(
) = ElementPreview {
SecureBackupDisableView(
state = state,
onDone = {},
onBackClicked = {},
onSuccess = {},
onBackClick = {},
)
}

View file

@ -38,8 +38,8 @@ class SecureBackupEnableNode @AssistedInject constructor(
SecureBackupEnableView(
state = state,
modifier = modifier,
onDone = ::navigateUp,
onBackClicked = ::navigateUp,
onSuccess = ::navigateUp,
onBackClick = ::navigateUp,
)
}
}

View file

@ -33,13 +33,13 @@ import io.element.android.libraries.designsystem.theme.components.Button
@Composable
fun SecureBackupEnableView(
state: SecureBackupEnableState,
onDone: () -> Unit,
onBackClicked: () -> Unit,
onSuccess: () -> Unit,
onBackClick: () -> Unit,
modifier: Modifier = Modifier,
) {
FlowStepPage(
modifier = modifier,
onBackClicked = onBackClicked,
onBackClick = onBackClick,
title = stringResource(id = R.string.screen_chat_backup_key_backup_action_enable),
iconVector = CompoundIcons.KeySolid(),
buttons = { Buttons(state = state) }
@ -47,7 +47,7 @@ fun SecureBackupEnableView(
AsyncActionView(
async = state.enableAction,
progressDialog = { },
onSuccess = { onDone() },
onSuccess = { onSuccess() },
onErrorDismiss = { state.eventSink.invoke(SecureBackupEnableEvents.DismissDialog) }
)
}
@ -71,7 +71,7 @@ internal fun SecureBackupEnableViewPreview(
) = ElementPreview {
SecureBackupEnableView(
state = state,
onDone = {},
onBackClicked = {},
onSuccess = {},
onBackClick = {},
)
}

View file

@ -46,8 +46,8 @@ class SecureBackupEnterRecoveryKeyNode @AssistedInject constructor(
SecureBackupEnterRecoveryKeyView(
state = state,
modifier = modifier,
onDone = callback::onEnterRecoveryKeySuccess,
onBackClicked = ::navigateUp,
onSuccess = callback::onEnterRecoveryKeySuccess,
onBackClick = ::navigateUp,
onCreateNewRecoveryKey = callback::onCreateNewRecoveryKey
)
}

View file

@ -38,14 +38,14 @@ import io.element.android.libraries.ui.strings.CommonStrings
@Composable
fun SecureBackupEnterRecoveryKeyView(
state: SecureBackupEnterRecoveryKeyState,
onDone: () -> Unit,
onBackClicked: () -> Unit,
onSuccess: () -> Unit,
onBackClick: () -> Unit,
onCreateNewRecoveryKey: () -> Unit,
modifier: Modifier = Modifier,
) {
AsyncActionView(
async = state.submitAction,
onSuccess = { onDone() },
onSuccess = { onSuccess() },
progressDialog = { },
errorTitle = { stringResource(id = R.string.screen_recovery_key_confirm_error_title) },
errorMessage = { stringResource(id = R.string.screen_recovery_key_confirm_error_content) },
@ -54,7 +54,7 @@ fun SecureBackupEnterRecoveryKeyView(
FlowStepPage(
modifier = modifier,
onBackClicked = onBackClicked,
onBackClick = onBackClick,
iconVector = CompoundIcons.KeySolid(),
title = stringResource(id = R.string.screen_recovery_key_confirm_title),
subTitle = stringResource(id = R.string.screen_recovery_key_confirm_description),
@ -109,8 +109,8 @@ internal fun SecureBackupEnterRecoveryKeyViewPreview(
) = ElementPreview {
SecureBackupEnterRecoveryKeyView(
state = state,
onDone = {},
onBackClicked = {},
onSuccess = {},
onBackClick = {},
onCreateNewRecoveryKey = {},
)
}

View file

@ -40,34 +40,34 @@ class SecureBackupRootNode @AssistedInject constructor(
plugins = plugins
) {
interface Callback : Plugin {
fun onSetupClicked()
fun onChangeClicked()
fun onDisableClicked()
fun onEnableClicked()
fun onConfirmRecoveryKeyClicked()
fun onSetupClick()
fun onChangeClick()
fun onDisableClick()
fun onEnableClick()
fun onConfirmRecoveryKeyClick()
}
private fun onSetupClicked() {
plugins<Callback>().forEach { it.onSetupClicked() }
private fun onSetupClick() {
plugins<Callback>().forEach { it.onSetupClick() }
}
private fun onChangeClicked() {
plugins<Callback>().forEach { it.onChangeClicked() }
private fun onChangeClick() {
plugins<Callback>().forEach { it.onChangeClick() }
}
private fun onDisableClicked() {
plugins<Callback>().forEach { it.onDisableClicked() }
private fun onDisableClick() {
plugins<Callback>().forEach { it.onDisableClick() }
}
private fun onEnableClicked() {
plugins<Callback>().forEach { it.onEnableClicked() }
private fun onEnableClick() {
plugins<Callback>().forEach { it.onEnableClick() }
}
private fun onConfirmRecoveryKeyClicked() {
plugins<Callback>().forEach { it.onConfirmRecoveryKeyClicked() }
private fun onConfirmRecoveryKeyClick() {
plugins<Callback>().forEach { it.onConfirmRecoveryKeyClick() }
}
private fun onLearnMoreClicked(uriHandler: UriHandler) {
private fun onLearnMoreClick(uriHandler: UriHandler) {
uriHandler.openUri(SecureBackupConfig.LEARN_MORE_URL)
}
@ -77,13 +77,13 @@ class SecureBackupRootNode @AssistedInject constructor(
val uriHandler = LocalUriHandler.current
SecureBackupRootView(
state = state,
onBackPressed = ::navigateUp,
onSetupClicked = ::onSetupClicked,
onChangeClicked = ::onChangeClicked,
onEnableClicked = ::onEnableClicked,
onDisableClicked = ::onDisableClicked,
onConfirmRecoveryKeyClicked = ::onConfirmRecoveryKeyClicked,
onLearnMoreClicked = { onLearnMoreClicked(uriHandler) },
onBackClick = ::navigateUp,
onSetupClick = ::onSetupClick,
onChangeClick = ::onChangeClick,
onEnableClick = ::onEnableClick,
onDisableClick = ::onDisableClick,
onConfirmRecoveryKeyClick = ::onConfirmRecoveryKeyClick,
onLearnMoreClick = { onLearnMoreClick(uriHandler) },
modifier = modifier,
)
}

View file

@ -47,20 +47,20 @@ import io.element.android.libraries.ui.strings.CommonStrings
@Composable
fun SecureBackupRootView(
state: SecureBackupRootState,
onBackPressed: () -> Unit,
onSetupClicked: () -> Unit,
onChangeClicked: () -> Unit,
onEnableClicked: () -> Unit,
onDisableClicked: () -> Unit,
onConfirmRecoveryKeyClicked: () -> Unit,
onLearnMoreClicked: () -> Unit,
onBackClick: () -> Unit,
onSetupClick: () -> Unit,
onChangeClick: () -> Unit,
onEnableClick: () -> Unit,
onDisableClick: () -> Unit,
onConfirmRecoveryKeyClick: () -> Unit,
onLearnMoreClick: () -> Unit,
modifier: Modifier = Modifier,
) {
val snackbarHostState = rememberSnackbarHostState(snackbarMessage = state.snackbarMessage)
PreferencePage(
modifier = modifier,
onBackPressed = onBackPressed,
onBackClick = onBackClick,
title = stringResource(id = CommonStrings.common_chat_backup),
snackbarHost = { SnackbarHost(snackbarHostState) },
) {
@ -74,7 +74,7 @@ fun SecureBackupRootView(
PreferenceText(
title = stringResource(id = R.string.screen_chat_backup_key_backup_title),
subtitleAnnotated = text,
onClick = onLearnMoreClicked,
onClick = onLearnMoreClick,
)
// Disable / Enable backup
@ -87,13 +87,13 @@ fun SecureBackupRootView(
PreferenceText(
title = stringResource(id = R.string.screen_chat_backup_key_backup_action_disable),
tintColor = ElementTheme.colors.textCriticalPrimary,
onClick = onDisableClicked,
onClick = onDisableClick,
)
}
false -> {
PreferenceText(
title = stringResource(id = R.string.screen_chat_backup_key_backup_action_enable),
onClick = onEnableClicked,
onClick = onEnableClick,
)
}
}
@ -127,7 +127,7 @@ fun SecureBackupRootView(
PreferenceText(
title = stringResource(id = R.string.screen_chat_backup_key_backup_action_enable),
onClick = onEnableClicked,
onClick = onEnableClick,
)
}
}
@ -140,7 +140,7 @@ fun SecureBackupRootView(
PreferenceText(
title = stringResource(id = R.string.screen_chat_backup_key_backup_action_disable),
tintColor = ElementTheme.colors.textCriticalPrimary,
onClick = onDisableClicked,
onClick = onDisableClick,
)
}
BackupState.DISABLING -> {
@ -158,14 +158,14 @@ fun SecureBackupRootView(
PreferenceText(
title = stringResource(id = R.string.screen_chat_backup_recovery_action_setup),
subtitle = stringResource(id = R.string.screen_chat_backup_recovery_action_setup_description, state.appName),
onClick = onSetupClicked,
onClick = onSetupClick,
showEndBadge = true,
)
}
RecoveryState.ENABLED -> {
PreferenceText(
title = stringResource(id = R.string.screen_chat_backup_recovery_action_change),
onClick = onChangeClicked,
onClick = onChangeClick,
)
}
RecoveryState.INCOMPLETE ->
@ -173,7 +173,7 @@ fun SecureBackupRootView(
title = stringResource(id = R.string.screen_chat_backup_recovery_action_confirm),
subtitle = stringResource(id = R.string.screen_chat_backup_recovery_action_confirm_description),
showEndBadge = true,
onClick = onConfirmRecoveryKeyClicked,
onClick = onConfirmRecoveryKeyClick,
)
}
}
@ -186,12 +186,12 @@ internal fun SecureBackupRootViewPreview(
) = ElementPreview {
SecureBackupRootView(
state = state,
onBackPressed = {},
onSetupClicked = {},
onChangeClicked = {},
onEnableClicked = {},
onDisableClicked = {},
onConfirmRecoveryKeyClicked = {},
onLearnMoreClicked = {},
onBackClick = {},
onSetupClick = {},
onChangeClick = {},
onEnableClick = {},
onDisableClick = {},
onConfirmRecoveryKeyClick = {},
onLearnMoreClick = {},
)
}

View file

@ -55,11 +55,11 @@ class SecureBackupSetupNode @AssistedInject constructor(
val state = presenter.present()
SecureBackupSetupView(
state = state,
onDone = {
onSuccess = {
coroutineScope.postSuccessSnackbar()
navigateUp()
},
onBackClicked = ::navigateUp,
onBackClick = ::navigateUp,
modifier = modifier,
)
}

View file

@ -42,18 +42,18 @@ import io.element.android.libraries.ui.strings.CommonStrings
@Composable
fun SecureBackupSetupView(
state: SecureBackupSetupState,
onDone: () -> Unit,
onBackClicked: () -> Unit,
onSuccess: () -> Unit,
onBackClick: () -> Unit,
modifier: Modifier = Modifier,
) {
FlowStepPage(
modifier = modifier,
onBackClicked = onBackClicked.takeIf { state.canGoBack() },
onBackClick = onBackClick.takeIf { state.canGoBack() },
title = title(state),
subTitle = subtitle(state),
iconVector = CompoundIcons.KeySolid(),
content = { Content(state) },
buttons = { Buttons(state, onDone = onDone) },
buttons = { Buttons(state, onFinish = onSuccess) },
)
if (state.showSaveConfirmationDialog) {
@ -61,7 +61,7 @@ fun SecureBackupSetupView(
title = stringResource(id = R.string.screen_recovery_key_setup_confirmation_title),
content = stringResource(id = R.string.screen_recovery_key_setup_confirmation_description),
submitText = stringResource(id = CommonStrings.action_continue),
onSubmitClicked = onDone,
onSubmitClick = onSuccess,
onDismiss = {
state.eventSink.invoke(SecureBackupSetupEvents.DismissDialog)
}
@ -138,7 +138,7 @@ private fun Content(
@Composable
private fun ColumnScope.Buttons(
state: SecureBackupSetupState,
onDone: () -> Unit,
onFinish: () -> Unit,
) {
val context = LocalContext.current
val chooserTitle = stringResource(id = R.string.screen_recovery_key_save_action)
@ -149,7 +149,7 @@ private fun ColumnScope.Buttons(
text = stringResource(id = CommonStrings.action_done),
enabled = false,
modifier = Modifier.fillMaxWidth(),
onClick = onDone
onClick = onFinish
)
}
is SetupState.Created,
@ -172,7 +172,7 @@ private fun ColumnScope.Buttons(
modifier = Modifier.fillMaxWidth(),
onClick = {
if (state.setupState is SetupState.CreatedAndSaved) {
onDone()
onFinish()
} else {
state.eventSink.invoke(SecureBackupSetupEvents.Done)
}
@ -189,7 +189,7 @@ internal fun SecureBackupSetupViewPreview(
) = ElementPreview {
SecureBackupSetupView(
state = state,
onDone = {},
onBackClicked = {},
onSuccess = {},
onBackClick = {},
)
}

View file

@ -32,7 +32,7 @@ internal fun SecureBackupSetupViewChangePreview(
isChangeRecoveryKeyUserStory = true,
recoveryKeyViewState = state.recoveryKeyViewState.copy(recoveryKeyUserStory = RecoveryKeyUserStory.Change),
),
onDone = {},
onBackClicked = {},
onSuccess = {},
onBackClick = {},
)
}

View file

@ -39,22 +39,22 @@ class SecureBackupEnterRecoveryKeyViewTest {
@get:Rule val rule = createAndroidComposeRule<ComponentActivity>()
@Test
fun `back key pressed - calls onBackClicked`() {
fun `back key pressed - calls onBackClick`() {
ensureCalledOnce { callback ->
rule.setSecureBackupEnterRecoveryKeyView(
aSecureBackupEnterRecoveryKeyState(),
onBackClicked = callback,
onBackClick = callback,
)
rule.pressBackKey()
}
}
@Test
fun `back button clicked - calls onBackClicked`() {
fun `back button clicked - calls onBackClick`() {
ensureCalledOnce { callback ->
rule.setSecureBackupEnterRecoveryKeyView(
aSecureBackupEnterRecoveryKeyState(),
onBackClicked = callback,
onBackClick = callback,
)
rule.pressBack()
}
@ -95,14 +95,14 @@ class SecureBackupEnterRecoveryKeyViewTest {
private fun <R : TestRule> AndroidComposeTestRule<R, ComponentActivity>.setSecureBackupEnterRecoveryKeyView(
state: SecureBackupEnterRecoveryKeyState,
onDone: () -> Unit = EnsureNeverCalled(),
onBackClicked: () -> Unit = EnsureNeverCalled(),
onBackClick: () -> Unit = EnsureNeverCalled(),
onCreateNewRecoveryKey: () -> Unit = EnsureNeverCalled(),
) {
rule.setContent {
SecureBackupEnterRecoveryKeyView(
state = state,
onDone = onDone,
onBackClicked = onBackClicked,
onSuccess = onDone,
onBackClick = onBackClick,
onCreateNewRecoveryKey = onCreateNewRecoveryKey
)
}