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 b8f3b66d0e
commit 87689d787e
250 changed files with 1698 additions and 1698 deletions

View file

@ -124,7 +124,7 @@ class RoomDetailsNode @AssistedInject constructor(
lifecycleScope.onShareRoom(context)
}
fun onActionClicked(action: RoomDetailsAction) {
fun onActionClick(action: RoomDetailsAction) {
when (action) {
RoomDetailsAction.Edit -> onEditRoomDetails()
RoomDetailsAction.AddTopic -> onEditRoomDetails()
@ -135,7 +135,7 @@ class RoomDetailsNode @AssistedInject constructor(
state = state,
modifier = modifier,
goBack = this::navigateUp,
onActionClicked = ::onActionClicked,
onActionClick = ::onActionClick,
onShareRoom = ::onShareRoom,
openRoomMemberList = ::openRoomMemberList,
openRoomNotificationSettings = ::openRoomNotificationSettings,
@ -143,7 +143,7 @@ class RoomDetailsNode @AssistedInject constructor(
openAvatarPreview = ::openAvatarPreview,
openPollHistory = ::openPollHistory,
openAdminSettings = this::openAdminSettings,
onJoinCallClicked = ::onJoinCall,
onJoinCallClick = ::onJoinCall,
)
}
}

View file

@ -89,7 +89,7 @@ import io.element.android.libraries.ui.strings.CommonStrings
fun RoomDetailsView(
state: RoomDetailsState,
goBack: () -> Unit,
onActionClicked: (RoomDetailsAction) -> Unit,
onActionClick: (RoomDetailsAction) -> Unit,
onShareRoom: () -> Unit,
openRoomMemberList: () -> Unit,
openRoomNotificationSettings: () -> Unit,
@ -97,7 +97,7 @@ fun RoomDetailsView(
openAvatarPreview: (name: String, url: String) -> Unit,
openPollHistory: () -> Unit,
openAdminSettings: () -> Unit,
onJoinCallClicked: () -> Unit,
onJoinCallClick: () -> Unit,
modifier: Modifier = Modifier,
) {
Scaffold(
@ -106,7 +106,7 @@ fun RoomDetailsView(
RoomDetailsTopBar(
goBack = goBack,
showEdit = state.canEdit,
onActionClicked = onActionClicked
onActionClick = onActionClick
)
},
) { padding ->
@ -135,7 +135,7 @@ fun RoomDetailsView(
state = state,
onShareRoom = onShareRoom,
onInvitePeople = invitePeople,
onCall = onJoinCallClicked,
onCall = onJoinCallClick,
)
}
@ -153,7 +153,7 @@ fun RoomDetailsView(
state = state,
onShareRoom = onShareRoom,
onInvitePeople = invitePeople,
onCall = onJoinCallClicked,
onCall = onJoinCallClick,
)
}
}
@ -162,7 +162,7 @@ fun RoomDetailsView(
if (state.roomTopic !is RoomTopicState.Hidden) {
TopicSection(
roomTopic = state.roomTopic,
onActionClicked = onActionClicked,
onActionClick = onActionClick,
)
}
@ -226,7 +226,7 @@ fun RoomDetailsView(
@Composable
private fun RoomDetailsTopBar(
goBack: () -> Unit,
onActionClicked: (RoomDetailsAction) -> Unit,
onActionClick: (RoomDetailsAction) -> Unit,
showEdit: Boolean,
) {
var showMenu by remember { mutableStateOf(false) }
@ -249,7 +249,7 @@ private fun RoomDetailsTopBar(
// Explicitly close the menu before handling the action, as otherwise it stays open during the
// transition and renders really badly.
showMenu = false
onActionClicked(RoomDetailsAction.Edit)
onActionClick(RoomDetailsAction.Edit)
},
)
}
@ -397,7 +397,7 @@ private fun BadgeList(
@Composable
private fun TopicSection(
roomTopic: RoomTopicState,
onActionClicked: (RoomDetailsAction) -> Unit,
onActionClick: (RoomDetailsAction) -> Unit,
) {
PreferenceCategory(
title = stringResource(CommonStrings.common_topic),
@ -407,7 +407,7 @@ private fun TopicSection(
PreferenceText(
title = stringResource(R.string.screen_room_details_add_topic_title),
icon = Icons.Outlined.Add,
onClick = { onActionClicked(RoomDetailsAction.AddTopic) },
onClick = { onActionClick(RoomDetailsAction.AddTopic) },
)
} else if (roomTopic is RoomTopicState.ExistingTopic) {
ClickableLinkText(
@ -527,7 +527,7 @@ private fun ContentToPreview(state: RoomDetailsState) {
RoomDetailsView(
state = state,
goBack = {},
onActionClicked = {},
onActionClick = {},
onShareRoom = {},
openRoomMemberList = {},
openRoomNotificationSettings = {},
@ -535,6 +535,6 @@ private fun ContentToPreview(state: RoomDetailsState) {
openAvatarPreview = { _, _ -> },
openPollHistory = {},
openAdminSettings = {},
onJoinCallClicked = {},
onJoinCallClick = {},
)
}

View file

@ -49,8 +49,8 @@ class RoomDetailsEditNode @AssistedInject constructor(
val state = presenter.present()
RoomDetailsEditView(
state = state,
onBackPressed = ::navigateUp,
onRoomEdited = ::navigateUp,
onBackClick = ::navigateUp,
onRoomEditSuccess = ::navigateUp,
modifier = modifier,
)
}

View file

@ -63,14 +63,14 @@ import io.element.android.libraries.ui.strings.CommonStrings
@Composable
fun RoomDetailsEditView(
state: RoomDetailsEditState,
onBackPressed: () -> Unit,
onRoomEdited: () -> Unit,
onBackClick: () -> Unit,
onRoomEditSuccess: () -> Unit,
modifier: Modifier = Modifier,
) {
val focusManager = LocalFocusManager.current
val isAvatarActionsSheetVisible = remember { mutableStateOf(false) }
fun onAvatarClicked() {
fun onAvatarClick() {
focusManager.clearFocus()
isAvatarActionsSheetVisible.value = true
}
@ -85,7 +85,7 @@ fun RoomDetailsEditView(
style = ElementTheme.typography.aliasScreenTitle,
)
},
navigationIcon = { BackButton(onClick = onBackPressed) },
navigationIcon = { BackButton(onClick = onBackClick) },
actions = {
TextButton(
text = stringResource(CommonStrings.action_save),
@ -114,7 +114,7 @@ fun RoomDetailsEditView(
displayName = state.roomRawName,
avatarUrl = state.roomAvatarUrl,
avatarSize = AvatarSize.EditRoomDetails,
onAvatarClicked = ::onAvatarClicked,
onAvatarClick = ::onAvatarClick,
modifier = Modifier.fillMaxWidth(),
)
Spacer(modifier = Modifier.height(60.dp))
@ -160,7 +160,7 @@ fun RoomDetailsEditView(
actions = state.avatarActions,
isVisible = isAvatarActionsSheetVisible.value,
onDismiss = { isAvatarActionsSheetVisible.value = false },
onActionSelected = { state.eventSink(RoomDetailsEditEvents.HandleAvatarAction(it)) }
onSelectAction = { state.eventSink(RoomDetailsEditEvents.HandleAvatarAction(it)) }
)
AsyncActionView(
@ -170,7 +170,7 @@ fun RoomDetailsEditView(
progressText = stringResource(R.string.screen_room_details_updating_room),
)
},
onSuccess = { onRoomEdited() },
onSuccess = { onRoomEditSuccess() },
errorMessage = { stringResource(R.string.screen_room_details_edition_error) },
onErrorDismiss = { state.eventSink(RoomDetailsEditEvents.CancelSaveChanges) }
)
@ -209,7 +209,7 @@ private fun LabelledReadOnlyField(
internal fun RoomDetailsEditViewPreview(@PreviewParameter(RoomDetailsEditStateProvider::class) state: RoomDetailsEditState) = ElementPreview {
RoomDetailsEditView(
state = state,
onBackPressed = {},
onRoomEdited = {},
onBackClick = {},
onRoomEditSuccess = {},
)
}

View file

@ -65,8 +65,8 @@ class RoomInviteMembersNode @AssistedInject constructor(
RoomInviteMembersView(
state = state,
modifier = modifier,
onBackPressed = { navigateUp() },
onSubmitPressed = { users ->
onBackClick = { navigateUp() },
onSubmitClick = { users ->
navigateUp()
coroutineScope.launch {

View file

@ -57,22 +57,22 @@ import kotlinx.collections.immutable.ImmutableList
@Composable
fun RoomInviteMembersView(
state: RoomInviteMembersState,
onBackPressed: () -> Unit,
onSubmitPressed: (List<MatrixUser>) -> Unit,
onBackClick: () -> Unit,
onSubmitClick: (List<MatrixUser>) -> Unit,
modifier: Modifier = Modifier,
) {
Scaffold(
modifier = modifier,
topBar = {
RoomInviteMembersTopBar(
onBackPressed = {
onBackClick = {
if (state.isSearchActive) {
state.eventSink(RoomInviteMembersEvents.OnSearchActiveChanged(false))
} else {
onBackPressed()
onBackClick()
}
},
onSubmitPressed = { onSubmitPressed(state.selectedUsers) },
onSubmitClick = { onSubmitClick(state.selectedUsers) },
canSend = state.canInvite,
)
}
@ -91,9 +91,9 @@ fun RoomInviteMembersView(
selectedUsers = state.selectedUsers,
state = state.searchResults,
active = state.isSearchActive,
onActiveChanged = { state.eventSink(RoomInviteMembersEvents.OnSearchActiveChanged(it)) },
onTextChanged = { state.eventSink(RoomInviteMembersEvents.UpdateSearchQuery(it)) },
onUserToggled = { state.eventSink(RoomInviteMembersEvents.ToggleUser(it)) },
onActiveChange = { state.eventSink(RoomInviteMembersEvents.OnSearchActiveChanged(it)) },
onTextChange = { state.eventSink(RoomInviteMembersEvents.UpdateSearchQuery(it)) },
onToggleUser = { state.eventSink(RoomInviteMembersEvents.ToggleUser(it)) },
)
if (!state.isSearchActive) {
@ -101,7 +101,7 @@ fun RoomInviteMembersView(
modifier = Modifier.fillMaxWidth(),
selectedUsers = state.selectedUsers,
autoScroll = true,
onUserRemoved = { state.eventSink(RoomInviteMembersEvents.ToggleUser(it)) },
onUserRemove = { state.eventSink(RoomInviteMembersEvents.ToggleUser(it)) },
contentPadding = PaddingValues(16.dp),
)
}
@ -113,8 +113,8 @@ fun RoomInviteMembersView(
@Composable
private fun RoomInviteMembersTopBar(
canSend: Boolean,
onBackPressed: () -> Unit,
onSubmitPressed: () -> Unit,
onBackClick: () -> Unit,
onSubmitClick: () -> Unit,
) {
TopAppBar(
title = {
@ -123,11 +123,11 @@ private fun RoomInviteMembersTopBar(
style = ElementTheme.typography.aliasScreenTitle,
)
},
navigationIcon = { BackButton(onClick = onBackPressed) },
navigationIcon = { BackButton(onClick = onBackClick) },
actions = {
TextButton(
text = stringResource(CommonStrings.action_invite),
onClick = onSubmitPressed,
onClick = onSubmitClick,
enabled = canSend,
)
}
@ -142,17 +142,17 @@ private fun RoomInviteMembersSearchBar(
showLoader: Boolean,
selectedUsers: ImmutableList<MatrixUser>,
active: Boolean,
onActiveChanged: (Boolean) -> Unit,
onTextChanged: (String) -> Unit,
onUserToggled: (MatrixUser) -> Unit,
onActiveChange: (Boolean) -> Unit,
onTextChange: (String) -> Unit,
onToggleUser: (MatrixUser) -> Unit,
modifier: Modifier = Modifier,
placeHolderTitle: String = stringResource(CommonStrings.common_search_for_someone),
) {
SearchBar(
query = query,
onQueryChange = onTextChanged,
onQueryChange = onTextChange,
active = active,
onActiveChange = onActiveChanged,
onActiveChange = onActiveChange,
modifier = modifier,
placeHolderTitle = placeHolderTitle,
contentPrefix = {
@ -161,7 +161,7 @@ private fun RoomInviteMembersSearchBar(
modifier = Modifier.fillMaxWidth(),
selectedUsers = selectedUsers,
autoScroll = true,
onUserRemoved = onUserToggled,
onUserRemove = onToggleUser,
contentPadding = PaddingValues(16.dp),
)
}
@ -210,7 +210,7 @@ private fun RoomInviteMembersSearchBar(
checked = invitableUser.isSelected,
enabled = enabled,
data = data,
onCheckedChange = { onUserToggled(invitableUser.matrixUser) },
onCheckedChange = { onToggleUser(invitableUser.matrixUser) },
modifier = Modifier.fillMaxWidth()
)
@ -228,7 +228,7 @@ private fun RoomInviteMembersSearchBar(
internal fun RoomInviteMembersViewPreview(@PreviewParameter(RoomInviteMembersStateProvider::class) state: RoomInviteMembersState) = ElementPreview {
RoomInviteMembersView(
state = state,
onBackPressed = {},
onSubmitPressed = {},
onBackClick = {},
onSubmitClick = {},
)
}

View file

@ -85,7 +85,7 @@ fun RoomMemberListView(
modifier: Modifier = Modifier,
initialSelectedSectionIndex: Int = 0,
) {
fun onUserSelected(roomMember: RoomMember) {
fun onSelectUser(roomMember: RoomMember) {
state.eventSink(RoomMemberListEvents.RoomMemberSelected(roomMember))
}
@ -95,8 +95,8 @@ fun RoomMemberListView(
if (!state.isSearchActive) {
RoomMemberListTopBar(
canInvite = state.canInvite,
onBackPressed = navigator::exitRoomMemberList,
onInvitePressed = navigator::openInviteMembers,
onBackClick = navigator::exitRoomMemberList,
onInviteClick = navigator::openInviteMembers,
)
}
}
@ -119,9 +119,9 @@ fun RoomMemberListView(
state = state.searchResults,
active = state.isSearchActive,
placeHolderTitle = stringResource(CommonStrings.common_search_for_someone),
onActiveChanged = { state.eventSink(RoomMemberListEvents.OnSearchActiveChanged(it)) },
onTextChanged = { state.eventSink(RoomMemberListEvents.UpdateSearchQuery(it)) },
onUserSelected = ::onUserSelected,
onActiveChange = { state.eventSink(RoomMemberListEvents.OnSearchActiveChanged(it)) },
onTextChange = { state.eventSink(RoomMemberListEvents.UpdateSearchQuery(it)) },
onSelectUser = ::onSelectUser,
selectedSection = selectedSection,
modifier = Modifier.fillMaxWidth(),
)
@ -133,8 +133,8 @@ fun RoomMemberListView(
showMembersCount = true,
canDisplayBannedUsersControls = state.moderationState.canDisplayBannedUsers,
selectedSection = selectedSection,
onSelectedSectionChanged = { selectedSection = it },
onUserSelected = ::onUserSelected,
onSelectedSectionChange = { selectedSection = it },
onSelectUser = ::onSelectUser,
)
}
}
@ -153,9 +153,9 @@ private fun RoomMemberList(
roomMembers: RoomMembers,
showMembersCount: Boolean,
selectedSection: SelectedSection,
onSelectedSectionChanged: (SelectedSection) -> Unit,
onSelectedSectionChange: (SelectedSection) -> Unit,
canDisplayBannedUsersControls: Boolean,
onUserSelected: (RoomMember) -> Unit,
onSelectUser: (RoomMember) -> Unit,
) {
LazyColumn(modifier = Modifier.fillMaxWidth(), state = rememberLazyListState()) {
stickyHeader {
@ -176,7 +176,7 @@ private fun RoomMemberList(
index = index,
count = segmentedButtonTitles.size,
selected = selectedSection.ordinal == index,
onClick = { onSelectedSectionChanged(SelectedSection.entries[index]) },
onClick = { onSelectedSectionChange(SelectedSection.entries[index]) },
text = title,
)
}
@ -197,7 +197,7 @@ private fun RoomMemberList(
roomMemberListSection(
headerText = { stringResource(id = R.string.screen_room_member_list_pending_header_title) },
members = roomMembers.invited,
onMemberSelected = { onUserSelected(it) }
onMemberSelected = { onSelectUser(it) }
)
}
if (roomMembers.joined.isNotEmpty()) {
@ -211,7 +211,7 @@ private fun RoomMemberList(
}
},
members = roomMembers.joined,
onMemberSelected = { onUserSelected(it) }
onMemberSelected = { onSelectUser(it) }
)
}
}
@ -220,7 +220,7 @@ private fun RoomMemberList(
roomMemberListSection(
headerText = null,
members = roomMembers.banned,
onMemberSelected = { onUserSelected(it) }
onMemberSelected = { onSelectUser(it) }
)
} else {
item {
@ -298,8 +298,8 @@ private fun RoomMemberListItem(
@Composable
private fun RoomMemberListTopBar(
canInvite: Boolean,
onBackPressed: () -> Unit,
onInvitePressed: () -> Unit,
onBackClick: () -> Unit,
onInviteClick: () -> Unit,
) {
TopAppBar(
title = {
@ -308,12 +308,12 @@ private fun RoomMemberListTopBar(
style = ElementTheme.typography.aliasScreenTitle,
)
},
navigationIcon = { BackButton(onClick = onBackPressed) },
navigationIcon = { BackButton(onClick = onBackClick) },
actions = {
if (canInvite) {
TextButton(
text = stringResource(CommonStrings.action_invite),
onClick = onInvitePressed,
onClick = onInviteClick,
)
}
}
@ -327,17 +327,17 @@ private fun RoomMemberSearchBar(
state: SearchBarResultState<RoomMembers>,
active: Boolean,
placeHolderTitle: String,
onActiveChanged: (Boolean) -> Unit,
onTextChanged: (String) -> Unit,
onUserSelected: (RoomMember) -> Unit,
onActiveChange: (Boolean) -> Unit,
onTextChange: (String) -> Unit,
onSelectUser: (RoomMember) -> Unit,
selectedSection: SelectedSection,
modifier: Modifier = Modifier,
) {
SearchBar(
query = query,
onQueryChange = onTextChanged,
onQueryChange = onTextChange,
active = active,
onActiveChange = onActiveChanged,
onActiveChange = onActiveChange,
modifier = modifier,
placeHolderTitle = placeHolderTitle,
resultState = state,
@ -346,10 +346,10 @@ private fun RoomMemberSearchBar(
isLoading = false,
roomMembers = results,
showMembersCount = false,
onUserSelected = { onUserSelected(it) },
onSelectUser = { onSelectUser(it) },
canDisplayBannedUsersControls = false,
selectedSection = selectedSection,
onSelectedSectionChanged = {},
onSelectedSectionChange = {},
)
},
)

View file

@ -93,7 +93,7 @@ class RoomMemberDetailsNode @AssistedInject constructor(
modifier = modifier,
goBack = this::navigateUp,
onShareUser = ::onShareUser,
onDmStarted = ::onStartDM,
onOpenDm = ::onStartDM,
onStartCall = ::onStartCall,
openAvatarPreview = callback::openAvatarPreview,
)

View file

@ -75,7 +75,7 @@ fun RoomMembersModerationView(
RoomMemberActionsBottomSheet(
roomMember = state.selectedRoomMember,
actions = state.actions,
onActionSelected = { action ->
onSelectAction = { action ->
when (action) {
is ModerationAction.DisplayProfile -> {
onDisplayMemberProfile(action.userId)
@ -126,7 +126,7 @@ fun RoomMembersModerationView(
title = stringResource(R.string.screen_room_member_list_ban_member_confirmation_title),
content = stringResource(R.string.screen_room_member_list_ban_member_confirmation_description),
submitText = stringResource(R.string.screen_room_member_list_ban_member_confirmation_action),
onSubmitClicked = { state.selectedRoomMember?.userId?.let { state.eventSink(RoomMembersModerationEvents.BanUser) } },
onSubmitClick = { state.selectedRoomMember?.userId?.let { state.eventSink(RoomMembersModerationEvents.BanUser) } },
onDismiss = { state.eventSink(RoomMembersModerationEvents.Reset) }
)
}
@ -161,7 +161,7 @@ fun RoomMembersModerationView(
title = stringResource(R.string.screen_room_member_list_manage_member_unban_title),
content = stringResource(R.string.screen_room_member_list_manage_member_unban_message),
submitText = stringResource(R.string.screen_room_member_list_manage_member_unban_action),
onSubmitClicked = { state.eventSink(RoomMembersModerationEvents.UnbanUser) },
onSubmitClick = { state.eventSink(RoomMembersModerationEvents.UnbanUser) },
onDismiss = { state.eventSink(RoomMembersModerationEvents.Reset) },
)
}
@ -197,7 +197,7 @@ fun RoomMembersModerationView(
private fun RoomMemberActionsBottomSheet(
roomMember: RoomMember?,
actions: ImmutableList<ModerationAction>,
onActionSelected: (ModerationAction) -> Unit,
onSelectAction: (ModerationAction) -> Unit,
onDismiss: () -> Unit,
) {
val coroutineScope = rememberCoroutineScope()
@ -260,7 +260,7 @@ private fun RoomMemberActionsBottomSheet(
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Info())),
onClick = {
coroutineScope.launch {
onActionSelected(action)
onSelectAction(action)
bottomSheetState.hide()
}
}
@ -273,7 +273,7 @@ private fun RoomMemberActionsBottomSheet(
onClick = {
coroutineScope.launch {
bottomSheetState.hide()
onActionSelected(action)
onSelectAction(action)
}
}
)
@ -286,7 +286,7 @@ private fun RoomMemberActionsBottomSheet(
onClick = {
coroutineScope.launch {
bottomSheetState.hide()
onActionSelected(action)
onSelectAction(action)
}
}
)

View file

@ -68,7 +68,7 @@ class RoomNotificationSettingsNode @AssistedInject constructor(
state = state,
modifier = modifier,
onShowGlobalNotifications = this::openGlobalNotificationSettings,
onBackPressed = this::navigateUp,
onBackClick = this::navigateUp,
)
}
}

View file

@ -31,7 +31,7 @@ import io.element.android.libraries.matrix.api.room.RoomNotificationMode
@Composable
fun RoomNotificationSettingsOption(
roomNotificationSettingsItem: RoomNotificationSettingsItem,
onOptionSelected: (RoomNotificationSettingsItem) -> Unit,
onSelectOption: (RoomNotificationSettingsItem) -> Unit,
displayMentionsOnlyDisclaimer: Boolean,
modifier: Modifier = Modifier,
enabled: Boolean = true,
@ -51,7 +51,7 @@ fun RoomNotificationSettingsOption(
headlineContent = { Text(title) },
supportingContent = subtitle?.let { { Text(it) } },
trailingContent = ListItemContent.RadioButton(selected = isSelected),
onClick = { onOptionSelected(roomNotificationSettingsItem) },
onClick = { onSelectOption(roomNotificationSettingsItem) },
)
}
@ -62,7 +62,7 @@ internal fun RoomNotificationSettingsOptionPreview() = ElementPreview {
for ((index, item) in roomNotificationSettingsItems().withIndex()) {
RoomNotificationSettingsOption(
roomNotificationSettingsItem = item,
onOptionSelected = {},
onSelectOption = {},
isSelected = index == 0,
enabled = index != 2,
displayMentionsOnlyDisclaimer = index == 1,

View file

@ -26,7 +26,7 @@ import io.element.android.libraries.matrix.api.room.RoomNotificationMode
fun RoomNotificationSettingsOptions(
selected: RoomNotificationMode?,
enabled: Boolean,
onOptionSelected: (RoomNotificationSettingsItem) -> Unit,
onSelectOption: (RoomNotificationSettingsItem) -> Unit,
displayMentionsOnlyDisclaimer: Boolean,
modifier: Modifier = Modifier,
) {
@ -36,7 +36,7 @@ fun RoomNotificationSettingsOptions(
RoomNotificationSettingsOption(
roomNotificationSettingsItem = item,
isSelected = selected == item.mode,
onOptionSelected = onOptionSelected,
onSelectOption = onSelectOption,
displayMentionsOnlyDisclaimer = displayMentionsOnlyDisclaimer,
enabled = enabled
)

View file

@ -51,21 +51,21 @@ import io.element.android.libraries.ui.strings.CommonStrings
fun RoomNotificationSettingsView(
state: RoomNotificationSettingsState,
onShowGlobalNotifications: () -> Unit,
onBackPressed: () -> Unit,
onBackClick: () -> Unit,
modifier: Modifier = Modifier,
) {
if (state.showUserDefinedSettingStyle) {
UserDefinedRoomNotificationSettingsView(
state = state,
modifier = modifier,
onBackPressed = onBackPressed,
onBackClick = onBackClick,
)
} else {
RoomSpecificNotificationSettingsView(
state = state,
modifier = modifier,
onShowGlobalNotifications = onShowGlobalNotifications,
onBackPressed = onBackPressed,
onBackClick = onBackClick,
)
}
}
@ -74,14 +74,14 @@ fun RoomNotificationSettingsView(
private fun RoomSpecificNotificationSettingsView(
state: RoomNotificationSettingsState,
onShowGlobalNotifications: () -> Unit,
onBackPressed: () -> Unit,
onBackClick: () -> Unit,
modifier: Modifier = Modifier,
) {
Scaffold(
modifier = modifier,
topBar = {
RoomNotificationSettingsTopBar(
onBackPressed = { onBackPressed() }
onBackClick = { onBackClick() }
)
}
) { padding ->
@ -136,7 +136,7 @@ private fun RoomSpecificNotificationSettingsView(
RoomNotificationSettingsOption(
roomNotificationSettingsItem = RoomNotificationSettingsItem(state.defaultRoomNotificationMode, defaultModeTitle),
isSelected = true,
onOptionSelected = { },
onSelectOption = { },
displayMentionsOnlyDisclaimer = displayMentionsOnlyDisclaimer,
enabled = true
)
@ -148,7 +148,7 @@ private fun RoomSpecificNotificationSettingsView(
selected = state.displayNotificationMode,
enabled = !state.displayIsDefault.orTrue(),
displayMentionsOnlyDisclaimer = state.displayMentionsOnlyDisclaimer,
onOptionSelected = {
onSelectOption = {
state.eventSink(RoomNotificationSettingsEvents.RoomNotificationModeChanged(it.mode))
},
)
@ -175,7 +175,7 @@ private fun RoomSpecificNotificationSettingsView(
@OptIn(ExperimentalMaterial3Api::class)
@Composable
private fun RoomNotificationSettingsTopBar(
onBackPressed: () -> Unit,
onBackClick: () -> Unit,
) {
TopAppBar(
title = {
@ -184,7 +184,7 @@ private fun RoomNotificationSettingsTopBar(
style = ElementTheme.typography.aliasScreenTitle,
)
},
navigationIcon = { BackButton(onClick = onBackPressed) },
navigationIcon = { BackButton(onClick = onBackClick) },
)
}
@ -196,6 +196,6 @@ internal fun RoomNotificationSettingsViewPreview(
RoomNotificationSettingsView(
state = state,
onShowGlobalNotifications = {},
onBackPressed = {},
onBackClick = {},
)
}

View file

@ -42,7 +42,7 @@ import io.element.android.libraries.designsystem.theme.components.TopAppBar
@Composable
fun UserDefinedRoomNotificationSettingsView(
state: RoomNotificationSettingsState,
onBackPressed: () -> Unit,
onBackClick: () -> Unit,
modifier: Modifier = Modifier,
) {
Scaffold(
@ -50,7 +50,7 @@ fun UserDefinedRoomNotificationSettingsView(
topBar = {
UserDefinedRoomNotificationSettingsTopBar(
roomName = state.roomName,
onBackPressed = { onBackPressed() }
onBackClick = { onBackClick() }
)
}
) { padding ->
@ -67,7 +67,7 @@ fun UserDefinedRoomNotificationSettingsView(
selected = state.displayNotificationMode,
enabled = !state.displayIsDefault.orTrue(),
displayMentionsOnlyDisclaimer = state.displayMentionsOnlyDisclaimer,
onOptionSelected = {
onSelectOption = {
state.eventSink(RoomNotificationSettingsEvents.RoomNotificationModeChanged(it.mode))
},
)
@ -90,7 +90,7 @@ fun UserDefinedRoomNotificationSettingsView(
AsyncActionView(
async = state.restoreDefaultAction,
onSuccess = { onBackPressed() },
onSuccess = { onBackClick() },
errorMessage = { stringResource(R.string.screen_notification_settings_edit_failed_updating_default_mode) },
onErrorDismiss = { state.eventSink(RoomNotificationSettingsEvents.ClearRestoreDefaultError) },
)
@ -102,7 +102,7 @@ fun UserDefinedRoomNotificationSettingsView(
@Composable
private fun UserDefinedRoomNotificationSettingsTopBar(
roomName: String,
onBackPressed: () -> Unit,
onBackClick: () -> Unit,
) {
TopAppBar(
title = {
@ -110,7 +110,7 @@ private fun UserDefinedRoomNotificationSettingsTopBar(
text = roomName,
)
},
navigationIcon = { BackButton(onClick = onBackPressed) },
navigationIcon = { BackButton(onClick = onBackClick) },
)
}
@ -121,6 +121,6 @@ internal fun UserDefinedRoomNotificationSettingsViewPreview(
) = ElementPreview {
UserDefinedRoomNotificationSettingsView(
state = state,
onBackPressed = {},
onBackClick = {},
)
}

View file

@ -49,14 +49,14 @@ class RolesAndPermissionsNode @AssistedInject constructor(
override fun openEditRoomDetailsPermissions()
override fun openMessagesAndContentPermissions()
override fun openModerationPermissions()
override fun onBackPressed() {}
override fun onBackClick() {}
}
private val callback = plugins<Callback>().first()
@Stable
private val navigator = object : RolesAndPermissionsNavigator by callback {
override fun onBackPressed() {
override fun onBackClick() {
navigateUp()
}
}
@ -88,7 +88,7 @@ class RolesAndPermissionsNode @AssistedInject constructor(
}
interface RolesAndPermissionsNavigator {
fun onBackPressed() {}
fun onBackClick() {}
fun openAdminList() {}
fun openModeratorList() {}
fun openEditRoomDetailsPermissions() {}

View file

@ -61,7 +61,7 @@ fun RolesAndPermissionsView(
PreferencePage(
modifier = modifier,
title = stringResource(R.string.screen_room_roles_and_permissions_title),
onBackPressed = rolesAndPermissionsNavigator::onBackPressed,
onBackClick = rolesAndPermissionsNavigator::onBackClick,
) {
ListSectionHeader(title = stringResource(R.string.screen_room_roles_and_permissions_roles_header), hasDivider = false)
ListItem(
@ -113,7 +113,7 @@ fun RolesAndPermissionsView(
content = stringResource(R.string.screen_room_roles_and_permissions_reset_confirm_description),
submitText = stringResource(CommonStrings.action_reset),
destructiveSubmit = true,
onSubmitClicked = { state.eventSink(RolesAndPermissionsEvents.ResetPermissions) },
onSubmitClick = { state.eventSink(RolesAndPermissionsEvents.ResetPermissions) },
onDismiss = { state.eventSink(RolesAndPermissionsEvents.CancelPendingAction) },
)
},

View file

@ -91,7 +91,7 @@ fun ChangeRolesView(
navigateUp: () -> Unit,
modifier: Modifier = Modifier,
) {
val updatedNavigateUp by rememberUpdatedState(newValue = navigateUp)
val latestNavigateUp by rememberUpdatedState(newValue = navigateUp)
BackHandler(enabled = !state.isSearchActive) {
state.eventSink(ChangeRolesEvent.Exit)
}
@ -150,7 +150,7 @@ fun ChangeRolesView(
searchResults = members,
selectedUsers = state.selectedUsers,
canRemoveMember = state.canChangeMemberRole,
onSelectionToggled = { state.eventSink(ChangeRolesEvent.UserSelectionToggled(it.toMatrixUser())) },
onToggleSelection = { state.eventSink(ChangeRolesEvent.UserSelectionToggled(it.toMatrixUser())) },
selectedUsersList = {},
)
}
@ -166,12 +166,12 @@ fun ChangeRolesView(
searchResults = (state.searchResults as? SearchBarResultState.Results)?.results ?: MembersByRole(emptyList()),
selectedUsers = state.selectedUsers,
canRemoveMember = state.canChangeMemberRole,
onSelectionToggled = { state.eventSink(ChangeRolesEvent.UserSelectionToggled(it.toMatrixUser())) },
onToggleSelection = { state.eventSink(ChangeRolesEvent.UserSelectionToggled(it.toMatrixUser())) },
selectedUsersList = { users ->
SelectedUsersRowList(
contentPadding = PaddingValues(start = 16.dp, end = 16.dp, bottom = 16.dp),
selectedUsers = users,
onUserRemoved = {
onUserRemove = {
state.eventSink(ChangeRolesEvent.UserSelectionToggled(it))
},
canDeselect = { state.canChangeMemberRole(it.userId) },
@ -188,12 +188,12 @@ fun ChangeRolesView(
AsyncActionView(
async = state.exitState,
onSuccess = { updatedNavigateUp() },
onSuccess = { latestNavigateUp() },
confirmationDialog = {
ConfirmationDialog(
title = stringResource(CommonStrings.dialog_unsaved_changes_title),
content = stringResource(CommonStrings.dialog_unsaved_changes_description_android),
onSubmitClicked = { state.eventSink(ChangeRolesEvent.Exit) },
onSubmitClick = { state.eventSink(ChangeRolesEvent.Exit) },
onDismiss = { state.eventSink(ChangeRolesEvent.CancelExit) }
)
},
@ -207,7 +207,7 @@ fun ChangeRolesView(
ConfirmationDialog(
title = stringResource(R.string.screen_room_change_role_confirm_add_admin_title),
content = stringResource(R.string.screen_room_change_role_confirm_add_admin_description),
onSubmitClicked = { state.eventSink(ChangeRolesEvent.Save) },
onSubmitClick = { state.eventSink(ChangeRolesEvent.Save) },
onDismiss = { state.eventSink(ChangeRolesEvent.ClearError) }
)
}
@ -240,7 +240,7 @@ private fun SearchResultsList(
searchResults: MembersByRole,
selectedUsers: ImmutableList<MatrixUser>,
canRemoveMember: (UserId) -> Boolean,
onSelectionToggled: (RoomMember) -> Unit,
onToggleSelection: (RoomMember) -> Unit,
lazyListState: LazyListState,
selectedUsersList: @Composable (ImmutableList<MatrixUser>) -> Unit,
) {
@ -268,7 +268,7 @@ private fun SearchResultsList(
ListMemberItem(
roomMember = roomMember,
canRemoveMember = canRemoveMember,
onSelectionToggled = onSelectionToggled,
onToggleSelection = onToggleSelection,
selectedUsers = selectedUsers
)
}
@ -279,7 +279,7 @@ private fun SearchResultsList(
ListMemberItem(
roomMember = roomMember,
canRemoveMember = canRemoveMember,
onSelectionToggled = onSelectionToggled,
onToggleSelection = onToggleSelection,
selectedUsers = selectedUsers
)
}
@ -290,7 +290,7 @@ private fun SearchResultsList(
ListMemberItem(
roomMember = roomMember,
canRemoveMember = canRemoveMember,
onSelectionToggled = onSelectionToggled,
onToggleSelection = onToggleSelection,
selectedUsers = selectedUsers
)
}
@ -314,19 +314,19 @@ private fun ListSectionHeader(text: String) {
private fun ListMemberItem(
roomMember: RoomMember,
canRemoveMember: (UserId) -> Boolean,
onSelectionToggled: (RoomMember) -> Unit,
onToggleSelection: (RoomMember) -> Unit,
selectedUsers: ImmutableList<MatrixUser>,
) {
val canToggle = canRemoveMember(roomMember.userId)
val trailingContent: @Composable (() -> Unit) = {
Checkbox(
checked = selectedUsers.any { it.userId == roomMember.userId },
onCheckedChange = { onSelectionToggled(roomMember) },
onCheckedChange = { onToggleSelection(roomMember) },
enabled = canToggle,
)
}
MemberRow(
modifier = Modifier.clickable(enabled = canToggle, onClick = { onSelectionToggled(roomMember) }),
modifier = Modifier.clickable(enabled = canToggle, onClick = { onToggleSelection(roomMember) }),
avatarData = AvatarData(roomMember.userId.value, roomMember.displayName, roomMember.avatarUrl, AvatarSize.UserListItem),
name = roomMember.getBestName(),
userId = roomMember.userId.value.takeIf { roomMember.displayName?.isNotBlank() == true },

View file

@ -53,7 +53,7 @@ class ChangeRoomPermissionsNode @AssistedInject constructor(
ChangeRoomPermissionsView(
modifier = modifier,
state = state,
onBackPressed = this::navigateUp,
onBackClick = this::navigateUp,
)
}
}

View file

@ -52,7 +52,7 @@ import io.element.android.libraries.ui.strings.CommonStrings
@Composable
fun ChangeRoomPermissionsView(
state: ChangeRoomPermissionsState,
onBackPressed: () -> Unit,
onBackClick: () -> Unit,
modifier: Modifier = Modifier,
) {
BackHandler {
@ -117,20 +117,20 @@ fun ChangeRoomPermissionsView(
AsyncActionView(
async = state.saveAction,
onSuccess = { onBackPressed() },
onSuccess = { onBackClick() },
onErrorDismiss = { state.eventSink(ChangeRoomPermissionsEvent.ResetPendingActions) }
)
AsyncActionView(
async = state.confirmExitAction,
onSuccess = { onBackPressed() },
onSuccess = { onBackClick() },
confirmationDialog = {
ConfirmationDialog(
title = stringResource(R.string.screen_room_change_role_unsaved_changes_title),
content = stringResource(R.string.screen_room_change_role_unsaved_changes_description),
submitText = stringResource(CommonStrings.action_save),
cancelText = stringResource(CommonStrings.action_discard),
onSubmitClicked = { state.eventSink(ChangeRoomPermissionsEvent.Save) },
onSubmitClick = { state.eventSink(ChangeRoomPermissionsEvent.Save) },
onDismiss = { state.eventSink(ChangeRoomPermissionsEvent.Exit) }
)
},
@ -193,7 +193,7 @@ internal fun ChangeRoomPermissionsViewPreview(@PreviewParameter(ChangeRoomPermis
ElementPreview {
ChangeRoomPermissionsView(
state = state,
onBackPressed = {},
onBackClick = {},
)
}
}

View file

@ -58,7 +58,7 @@ class RoomDetailsEditViewTest {
aRoomDetailsEditState(
eventSink = eventsRecorder
),
onBackPressed = callback,
onBackClick = callback,
)
rule.pressBack()
}
@ -230,14 +230,14 @@ class RoomDetailsEditViewTest {
private fun <R : TestRule> AndroidComposeTestRule<R, ComponentActivity>.setRoomDetailsEditView(
state: RoomDetailsEditState,
onBackPressed: () -> Unit = EnsureNeverCalled(),
onBackClick: () -> Unit = EnsureNeverCalled(),
onRoomEdited: () -> Unit = EnsureNeverCalled(),
) {
setContent {
RoomDetailsEditView(
state = state,
onBackPressed = onBackPressed,
onRoomEdited = onRoomEdited,
onBackClick = onBackClick,
onRoomEditSuccess = onRoomEdited,
)
}
}

View file

@ -120,7 +120,7 @@ class RoomDetailsViewTest {
eventSink = EventsRecorder(expectEvents = false),
canInvite = true,
),
onJoinCallClicked = callback,
onJoinCallClick = callback,
)
rule.clickOn(CommonStrings.action_call)
}
@ -134,7 +134,7 @@ class RoomDetailsViewTest {
eventSink = EventsRecorder(expectEvents = false),
roomTopic = RoomTopicState.CanAddTopic,
),
onActionClicked = callback,
onActionClick = callback,
)
rule.clickOn(R.string.screen_room_details_add_topic_title)
}
@ -148,7 +148,7 @@ class RoomDetailsViewTest {
eventSink = EventsRecorder(expectEvents = false),
canEdit = true,
),
onActionClicked = callback,
onActionClick = callback,
)
val menuContentDescription = rule.activity.getString(CommonStrings.a11y_user_menu)
rule.onNodeWithContentDescription(menuContentDescription).performClick()
@ -248,7 +248,7 @@ private fun <R : TestRule> AndroidComposeTestRule<R, ComponentActivity>.setRoomD
eventSink = EventsRecorder(expectEvents = false),
),
goBack: () -> Unit = EnsureNeverCalled(),
onActionClicked: (RoomDetailsAction) -> Unit = EnsureNeverCalledWithParam(),
onActionClick: (RoomDetailsAction) -> Unit = EnsureNeverCalledWithParam(),
onShareRoom: () -> Unit = EnsureNeverCalled(),
openRoomMemberList: () -> Unit = EnsureNeverCalled(),
openRoomNotificationSettings: () -> Unit = EnsureNeverCalled(),
@ -256,13 +256,13 @@ private fun <R : TestRule> AndroidComposeTestRule<R, ComponentActivity>.setRoomD
openAvatarPreview: (name: String, url: String) -> Unit = EnsureNeverCalledWithTwoParams(),
openPollHistory: () -> Unit = EnsureNeverCalled(),
openAdminSettings: () -> Unit = EnsureNeverCalled(),
onJoinCallClicked: () -> Unit = EnsureNeverCalled(),
onJoinCallClick: () -> Unit = EnsureNeverCalled(),
) {
setContent {
RoomDetailsView(
state = state,
goBack = goBack,
onActionClicked = onActionClicked,
onActionClick = onActionClick,
onShareRoom = onShareRoom,
openRoomMemberList = openRoomMemberList,
openRoomNotificationSettings = openRoomNotificationSettings,
@ -270,7 +270,7 @@ private fun <R : TestRule> AndroidComposeTestRule<R, ComponentActivity>.setRoomD
openAvatarPreview = openAvatarPreview,
openPollHistory = openPollHistory,
openAdminSettings = openAdminSettings,
onJoinCallClicked = onJoinCallClicked,
onJoinCallClick = onJoinCallClick,
)
}
}

View file

@ -184,7 +184,7 @@ private fun <R : TestRule> AndroidComposeTestRule<R, ComponentActivity>.setRoles
RolesAndPermissionsView(
state = state,
rolesAndPermissionsNavigator = object : RolesAndPermissionsNavigator {
override fun onBackPressed() = goBack()
override fun onBackClick() = goBack()
override fun openAdminList() = openAdminList()
override fun openModeratorList() = openModeratorList()
override fun openEditRoomDetailsPermissions() = openPermissionScreens()

View file

@ -297,12 +297,12 @@ class ChangeRolesViewTest {
private fun <R : TestRule> AndroidComposeTestRule<R, ComponentActivity>.setChangeRolesContent(
state: ChangeRolesState,
onBackPressed: () -> Unit = EnsureNeverCalled(),
onBackClick: () -> Unit = EnsureNeverCalled(),
) {
setContent {
ChangeRolesView(
state = state,
navigateUp = onBackPressed,
navigateUp = onBackClick,
)
}
}

View file

@ -161,7 +161,7 @@ class ChangeRoomPermissionsViewTests {
hasChanges = true,
saveAction = AsyncAction.Success(Unit),
),
onBackPressed = callback
onBackClick = callback
)
rule.clickOn(CommonStrings.action_save)
}
@ -190,12 +190,12 @@ private fun <R : TestRule> AndroidComposeTestRule<R, ComponentActivity>.setChang
section = ChangeRoomPermissionsSection.RoomDetails,
eventSink = eventsRecorder,
),
onBackPressed: () -> Unit = EnsureNeverCalled(),
onBackClick: () -> Unit = EnsureNeverCalled(),
) {
setContent {
ChangeRoomPermissionsView(
state = state,
onBackPressed = onBackPressed,
onBackClick = onBackClick,
)
}
}