Updated on 2026-08-14
This commit is contained in:
parent
66427b6153
commit
7fb168b533
3 changed files with 15 additions and 3 deletions
|
|
@ -31,6 +31,7 @@ import kotlinx.coroutines.flow.MutableStateFlow
|
|||
*/
|
||||
internal class WalletSkeletonStateConverter(
|
||||
private val currentStateProvider: Provider<WalletState>,
|
||||
private val isBalanceHiddenProvider: Provider<Boolean>,
|
||||
private val clickIntents: WalletClickIntents,
|
||||
) : Converter<SkeletonModel, WalletState.ContentState> {
|
||||
|
||||
|
|
@ -55,7 +56,7 @@ internal class WalletSkeletonStateConverter(
|
|||
bottomSheetConfig = null,
|
||||
tokenActionsBottomSheet = null,
|
||||
onManageTokensClick = clickIntents::onManageTokensClick,
|
||||
isBalanceHidden = true,
|
||||
isBalanceHidden = isBalanceHiddenProvider(),
|
||||
)
|
||||
}
|
||||
|
||||
|
|
@ -74,7 +75,7 @@ internal class WalletSkeletonStateConverter(
|
|||
value = TxHistoryState.getDefaultLoadingTransactions(clickIntents::onExploreClick),
|
||||
),
|
||||
),
|
||||
isBalanceHidden = true,
|
||||
isBalanceHidden = isBalanceHiddenProvider(),
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,12 +45,19 @@ internal class WalletStateFactory(
|
|||
private val currentCardTypeResolverProvider: Provider<CardTypesResolver>,
|
||||
private val currentWalletProvider: Provider<UserWallet>,
|
||||
private val appCurrencyProvider: Provider<AppCurrency>,
|
||||
private val isBalanceHiddenProvider: Provider<Boolean>,
|
||||
private val clickIntents: WalletClickIntents,
|
||||
) {
|
||||
|
||||
private val tokenActionsProvider by lazy { TokenActionsProvider(clickIntents) }
|
||||
|
||||
private val skeletonConverter by lazy { WalletSkeletonStateConverter(currentStateProvider, clickIntents) }
|
||||
private val skeletonConverter by lazy {
|
||||
WalletSkeletonStateConverter(
|
||||
currentStateProvider = currentStateProvider,
|
||||
isBalanceHiddenProvider = isBalanceHiddenProvider,
|
||||
clickIntents = clickIntents,
|
||||
)
|
||||
}
|
||||
|
||||
private val walletsUnlockStateConverter by lazy { WalletsUnlockStateConverter(currentStateProvider, clickIntents) }
|
||||
|
||||
|
|
|
|||
|
|
@ -139,6 +139,8 @@ internal class WalletViewModel @Inject constructor(
|
|||
clickIntents = this,
|
||||
)
|
||||
|
||||
private var isBalanceHidden = true
|
||||
|
||||
private val stateFactory = WalletStateFactory(
|
||||
currentStateProvider = Provider { uiState },
|
||||
currentCardTypeResolverProvider = Provider {
|
||||
|
|
@ -150,6 +152,7 @@ internal class WalletViewModel @Inject constructor(
|
|||
wallets[requireNotNull(uiState as? WalletState.ContentState).walletsListConfig.selectedWalletIndex]
|
||||
},
|
||||
appCurrencyProvider = Provider(selectedAppCurrencyFlow::value),
|
||||
isBalanceHiddenProvider = Provider { isBalanceHidden },
|
||||
clickIntents = this,
|
||||
)
|
||||
|
||||
|
|
@ -199,6 +202,7 @@ internal class WalletViewModel @Inject constructor(
|
|||
isBalanceHiddenUseCase()
|
||||
.flowWithLifecycle(owner.lifecycle)
|
||||
.onEach { hidden ->
|
||||
isBalanceHidden = hidden
|
||||
WalletStateCache.updateAll { copySealed(isBalanceHidden = hidden) }
|
||||
uiState = stateFactory.getHiddenBalanceState(isBalanceHidden = hidden)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue