ComposableParamOrder:Message.kt$MessageScreen ComposableParamOrder:Message.kt$QuickChatRow ComposableParamOrder:MessageActions.kt$MessageActions ComposableParamOrder:MessageActions.kt$MessageStatusButton ComposableParamOrder:MessageItem.kt$MessageItem ComposableParamOrder:MessageList.kt$DeliveryInfo ComposableParamOrder:MessageList.kt$MessageList ComposableParamOrder:QuickChat.kt$OutlinedTextFieldWithCounter LambdaParameterEventTrailing:Message.kt$onClick LambdaParameterEventTrailing:Message.kt$onSendMessage LambdaParameterEventTrailing:MessageList.kt$onReply LambdaParameterEventTrailing:QuickChat.kt$onNavigateUp LambdaParameterInRestartableEffect:MessageList.kt$onUnreadChanged LongParameterList:MessageViewModel.kt$MessageViewModel$( private val nodeRepository: NodeRepository, radioConfigRepository: RadioConfigRepository, quickChatActionRepository: QuickChatActionRepository, private val serviceRepository: ServiceRepository, private val packetRepository: PacketRepository, private val uiPrefs: UiPrefs, private val meshServiceNotifications: MeshServiceNotifications, ) ModifierMissing:Message.kt$MessageScreen ModifierNotUsedAtRoot:QuickChat.kt$modifier = modifier.fillMaxSize().padding(innerPadding) MutableStateParam:MessageList.kt$selectedIds ParameterNaming:MessageList.kt$onUnreadChanged TooManyFunctions:MessageViewModel.kt$MessageViewModel : ViewModel Wrapping:Message.kt${ event -> when (event) { is MessageScreenEvent.SendMessage -> { viewModel.sendMessage(event.text, contactKey, event.replyingToPacketId) if (event.replyingToPacketId != null) replyingToPacketId = null messageInputState.clearText() } is MessageScreenEvent.SendReaction -> viewModel.sendReaction(event.emoji, event.messageId, contactKey) is MessageScreenEvent.DeleteMessages -> { viewModel.deleteMessages(event.ids) selectedMessageIds.value = emptySet() showDeleteDialog = false } is MessageScreenEvent.ClearUnreadCount -> viewModel.clearUnreadCount(contactKey, event.lastReadMessageId) is MessageScreenEvent.NodeDetails -> navigateToNodeDetails(event.node.num) is MessageScreenEvent.SetTitle -> viewModel.setTitle(event.title) is MessageScreenEvent.NavigateToMessages -> navigateToMessages(event.contactKey) is MessageScreenEvent.NavigateToNodeDetails -> navigateToNodeDetails(event.nodeNum) MessageScreenEvent.NavigateBack -> onNavigateBack() is MessageScreenEvent.CopyToClipboard -> { clipboardManager.nativeClipboard.setPrimaryClip(ClipData.newPlainText(event.text, event.text)) selectedMessageIds.value = emptySet() } } }