mirror of
https://github.com/bitwarden/android.git
synced 2026-06-07 06:49:07 -05:00
BIT-1351 Sorting Items by name (#823)
This commit is contained in:
committed by
Álison Fernandes
parent
2dde22f762
commit
cf7f0ad7fe
@@ -57,6 +57,7 @@ import com.x8bit.bitwarden.data.vault.repository.model.UpdateCipherResult
|
||||
import com.x8bit.bitwarden.data.vault.repository.model.UpdateSendResult
|
||||
import com.x8bit.bitwarden.data.vault.repository.model.VaultData
|
||||
import com.x8bit.bitwarden.data.vault.repository.model.VaultUnlockResult
|
||||
import com.x8bit.bitwarden.data.vault.repository.util.sortAlphabetically
|
||||
import com.x8bit.bitwarden.data.vault.repository.util.toDomainsData
|
||||
import com.x8bit.bitwarden.data.vault.repository.util.toEncryptedNetworkCipher
|
||||
import com.x8bit.bitwarden.data.vault.repository.util.toEncryptedNetworkCipherResponse
|
||||
@@ -1027,7 +1028,7 @@ class VaultRepositoryImpl(
|
||||
cipherList = it.toEncryptedSdkCipherList(),
|
||||
)
|
||||
.fold(
|
||||
onSuccess = { ciphers -> DataState.Loaded(ciphers) },
|
||||
onSuccess = { ciphers -> DataState.Loaded(ciphers.sortAlphabetically()) },
|
||||
onFailure = { throwable -> DataState.Error(throwable) },
|
||||
)
|
||||
}
|
||||
@@ -1059,7 +1060,7 @@ class VaultRepositoryImpl(
|
||||
folderList = it.toEncryptedSdkFolderList(),
|
||||
)
|
||||
.fold(
|
||||
onSuccess = { folders -> DataState.Loaded(folders) },
|
||||
onSuccess = { folders -> DataState.Loaded(folders.sortAlphabetically()) },
|
||||
onFailure = { throwable -> DataState.Error(throwable) },
|
||||
)
|
||||
}
|
||||
@@ -1078,7 +1079,11 @@ class VaultRepositoryImpl(
|
||||
collectionList = it.toEncryptedSdkCollectionList(),
|
||||
)
|
||||
.fold(
|
||||
onSuccess = { collections -> DataState.Loaded(collections) },
|
||||
onSuccess = { collections ->
|
||||
DataState.Loaded(
|
||||
collections.sortAlphabetically(),
|
||||
)
|
||||
},
|
||||
onFailure = { throwable -> DataState.Error(throwable) },
|
||||
)
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.bitwarden.core.Card
|
||||
import com.bitwarden.core.Cipher
|
||||
import com.bitwarden.core.CipherRepromptType
|
||||
import com.bitwarden.core.CipherType
|
||||
import com.bitwarden.core.CipherView
|
||||
import com.bitwarden.core.Field
|
||||
import com.bitwarden.core.FieldType
|
||||
import com.bitwarden.core.Identity
|
||||
@@ -26,6 +27,7 @@ import com.x8bit.bitwarden.data.vault.datasource.network.model.SyncResponseJson
|
||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.UriMatchTypeJson
|
||||
import java.time.ZoneOffset
|
||||
import java.time.ZonedDateTime
|
||||
import java.util.Locale
|
||||
|
||||
/**
|
||||
* Converts a Bitwarden SDK [Cipher] object to a corresponding
|
||||
@@ -491,3 +493,10 @@ fun FieldTypeJson.toSdkFieldType(): FieldType =
|
||||
FieldTypeJson.BOOLEAN -> FieldType.BOOLEAN
|
||||
FieldTypeJson.LINKED -> FieldType.LINKED
|
||||
}
|
||||
|
||||
/**
|
||||
* Sorts the data in alphabetical order by name.
|
||||
*/
|
||||
@JvmName("toAlphabeticallySortedCipherList")
|
||||
fun List<CipherView>.sortAlphabetically(): List<CipherView> =
|
||||
this.sortedBy { it.name.uppercase(Locale.getDefault()) }
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package com.x8bit.bitwarden.data.vault.repository.util
|
||||
|
||||
import com.bitwarden.core.Collection
|
||||
import com.bitwarden.core.CollectionView
|
||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.SyncResponseJson
|
||||
import java.util.Locale
|
||||
|
||||
/**
|
||||
* Converts a [SyncResponseJson.Collection] object to a corresponding Bitwarden SDK [Collection]
|
||||
@@ -23,3 +25,10 @@ fun SyncResponseJson.Collection.toEncryptedSdkCollection(): Collection =
|
||||
*/
|
||||
fun List<SyncResponseJson.Collection>.toEncryptedSdkCollectionList(): List<Collection> =
|
||||
map { it.toEncryptedSdkCollection() }
|
||||
|
||||
/**
|
||||
* Sorts the data in alphabetical order by name.
|
||||
*/
|
||||
@JvmName("toAlphabeticallySortedCollectionList")
|
||||
fun List<CollectionView>.sortAlphabetically(): List<CollectionView> =
|
||||
this.sortedBy { it.name.uppercase(Locale.getDefault()) }
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package com.x8bit.bitwarden.data.vault.repository.util
|
||||
|
||||
import com.bitwarden.core.Folder
|
||||
import com.bitwarden.core.FolderView
|
||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.SyncResponseJson
|
||||
import java.util.Locale
|
||||
|
||||
/**
|
||||
* Converts a list of [SyncResponseJson.Folder] objects to a list of corresponding
|
||||
@@ -20,3 +22,10 @@ fun SyncResponseJson.Folder.toEncryptedSdkFolder(): Folder =
|
||||
name = name.orEmpty(),
|
||||
revisionDate = revisionDate.toInstant(),
|
||||
)
|
||||
|
||||
/**
|
||||
* Sorts the data in alphabetical order by name.
|
||||
*/
|
||||
@JvmName("toAlphabeticallySortedFolderList")
|
||||
fun List<FolderView>.sortAlphabetically(): List<FolderView> =
|
||||
this.sortedBy { it.name.uppercase(Locale.getDefault()) }
|
||||
|
||||
Reference in New Issue
Block a user