From b77de7ba4d8ef3fc5dded711a832dd2bf93c4302 Mon Sep 17 00:00:00 2001 From: David Perez Date: Thu, 18 Jan 2024 21:50:09 -0600 Subject: [PATCH] BitwardenListItem should use persistable lists (#676) --- .../ui/platform/components/BitwardenListItem.kt | 6 +++--- .../ui/platform/util/PersistentListExtensions.kt | 10 +++++----- .../ui/tools/feature/send/SendListItem.kt | 15 +++++++++------ 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/platform/components/BitwardenListItem.kt b/app/src/main/java/com/x8bit/bitwarden/ui/platform/components/BitwardenListItem.kt index 363e0c93d..8b51766f8 100644 --- a/app/src/main/java/com/x8bit/bitwarden/ui/platform/components/BitwardenListItem.kt +++ b/app/src/main/java/com/x8bit/bitwarden/ui/platform/components/BitwardenListItem.kt @@ -33,7 +33,7 @@ import com.x8bit.bitwarden.R import com.x8bit.bitwarden.ui.platform.components.model.IconData import com.x8bit.bitwarden.ui.platform.components.model.IconResource import com.x8bit.bitwarden.ui.platform.theme.BitwardenTheme -import kotlinx.collections.immutable.PersistentList +import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf /** @@ -55,10 +55,10 @@ fun BitwardenListItem( label: String, startIcon: IconData, onClick: () -> Unit, - selectionDataList: PersistentList, + selectionDataList: ImmutableList, modifier: Modifier = Modifier, supportingLabel: String? = null, - trailingLabelIcons: List = emptyList(), + trailingLabelIcons: ImmutableList = persistentListOf(), ) { var shouldShowDialog by rememberSaveable { mutableStateOf(false) } Row( diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/platform/util/PersistentListExtensions.kt b/app/src/main/java/com/x8bit/bitwarden/ui/platform/util/PersistentListExtensions.kt index eef37a292..2a0fd1363 100644 --- a/app/src/main/java/com/x8bit/bitwarden/ui/platform/util/PersistentListExtensions.kt +++ b/app/src/main/java/com/x8bit/bitwarden/ui/platform/util/PersistentListExtensions.kt @@ -1,10 +1,10 @@ package com.x8bit.bitwarden.ui.platform.util -import kotlinx.collections.immutable.PersistentList -import kotlinx.collections.immutable.toPersistentList +import kotlinx.collections.immutable.ImmutableList +import kotlinx.collections.immutable.toImmutableList /** - * Creates an immutable [PersistentList] of the given [elements] excluding the null ones. + * Creates an immutable [ImmutableList] of the given [elements] excluding the null ones. */ -fun persistentListOfNotNull(vararg elements: T?): PersistentList = - elements.filterNotNull().toPersistentList() +fun persistentListOfNotNull(vararg elements: T?): ImmutableList = + elements.filterNotNull().toImmutableList() diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/tools/feature/send/SendListItem.kt b/app/src/main/java/com/x8bit/bitwarden/ui/tools/feature/send/SendListItem.kt index b39a36fa6..bdcf4ee58 100644 --- a/app/src/main/java/com/x8bit/bitwarden/ui/tools/feature/send/SendListItem.kt +++ b/app/src/main/java/com/x8bit/bitwarden/ui/tools/feature/send/SendListItem.kt @@ -19,6 +19,7 @@ import com.x8bit.bitwarden.ui.platform.components.model.IconResource import com.x8bit.bitwarden.ui.platform.theme.BitwardenTheme import com.x8bit.bitwarden.ui.platform.util.persistentListOfNotNull import com.x8bit.bitwarden.ui.tools.feature.send.model.SendStatusIcon +import kotlinx.collections.immutable.toPersistentList /** * A Composable function that displays a row send item. @@ -56,12 +57,14 @@ fun SendListItem( label = label, supportingLabel = supportingLabel, startIcon = startIcon, - trailingLabelIcons = trailingLabelIcons.map { - IconResource( - iconPainter = painterResource(it.iconRes), - contentDescription = it.contentDescription(), - ) - }, + trailingLabelIcons = trailingLabelIcons + .map { + IconResource( + iconPainter = painterResource(it.iconRes), + contentDescription = it.contentDescription(), + ) + } + .toPersistentList(), onClick = onClick, selectionDataList = persistentListOfNotNull( SelectionItemData(