Updated on 2026-08-14
This commit is contained in:
parent
2de117d365
commit
29db74c3aa
1 changed files with 9 additions and 9 deletions
|
|
@ -45,16 +45,16 @@ class DefaultUserWalletImageFetcher @Inject constructor(
|
|||
.map { allWallets -> allWallets.filter { (walletId, _) -> wallets.any { it.walletId == walletId } } }
|
||||
.distinctUntilChanged()
|
||||
|
||||
override fun walletImage(walletId: UserWalletId, size: ArtworkSize): Flow<UserWalletItemUM.ImageState> = flow {
|
||||
val imagesFlow = getUserWalletUseCase.invokeFlow(walletId)
|
||||
// emit Loading and wait wallet
|
||||
.onEach { if (it.isLeft()) emit(UserWalletItemUM.ImageState.Loading) }
|
||||
.filterIsInstance<Either.Right<UserWallet>>()
|
||||
.map { it.value }
|
||||
override fun walletImage(walletId: UserWalletId, size: ArtworkSize): Flow<UserWalletItemUM.ImageState> =
|
||||
getUserWalletUseCase.invokeFlow(walletId)
|
||||
.transform { either ->
|
||||
if (either.isLeft()) {
|
||||
emit(UserWalletItemUM.ImageState.Loading)
|
||||
} else if (either is Either.Right) {
|
||||
emitAll(walletImage(either.value, size))
|
||||
}
|
||||
}
|
||||
.distinctUntilChanged()
|
||||
.flatMapLatest { wallet -> walletImage(wallet, size) }
|
||||
emitAll(imagesFlow)
|
||||
}.distinctUntilChanged()
|
||||
|
||||
override fun walletImage(cardDTO: CardDTO, size: ArtworkSize): Flow<UserWalletItemUM.ImageState> =
|
||||
internalGetCardImage(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue