Skip to content

Commit 7c0bf4e

Browse files
author
Denis Lyazgin
committed
lock buttons
1 parent b4a228c commit 7c0bf4e

File tree

4 files changed

+16
-0
lines changed

4 files changed

+16
-0
lines changed

feature-staking-impl/src/main/java/jp/co/soramitsu/feature_staking_impl/presentation/staking/balance/StakingBalanceFragment.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,12 @@ class StakingBalanceFragment : BaseFragment<StakingBalanceViewModel>(R.layout.fr
9494
binding.stakingBalanceUnbondings.unbondingsMoreAction.isEnabled = it
9595
}
9696

97+
viewModel.pendingAction.observe {
98+
binding.stakingBalanceActions.bondMore.isEnabled = it.not()
99+
binding.stakingBalanceActions.unbond.isEnabled = it.not()
100+
binding.stakingBalanceActions.redeem.isEnabled = it.not()
101+
}
102+
97103
viewModel.redeemEnabledLiveData.observe {
98104
binding.stakingBalanceActions.redeem.isEnabled = it
99105
}

feature-staking-impl/src/main/java/jp/co/soramitsu/feature_staking_impl/presentation/staking/balance/StakingBalanceViewModel.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ class StakingBalanceViewModel(
6868
it.redeemable.amount > BigDecimal.ZERO
6969
}.asLiveData()
7070

71+
val pendingAction = MutableLiveData(false)
72+
7173
val shouldBlockActionButtons = stakingBalanceModelLiveData.map {
7274
val isParachain = assetFlow.first().token.configuration.staking == Chain.Asset.StakingType.PARACHAIN
7375
(it.redeemable.amount + it.unstaking.amount > BigDecimal.ZERO).and(isParachain)
@@ -167,10 +169,16 @@ class StakingBalanceViewModel(
167169
block: (ManageStakingValidationPayload) -> Unit,
168170
) {
169171
launch {
172+
pendingAction.value = true
170173
val stakingState = stakingScenarioInteractor.getSelectedAccountStakingState()
171174
validationExecutor.requireValid(
172175
validationSystem,
173176
ManageStakingValidationPayload(stakingState as? StakingState.Stash),
177+
progressConsumer = {
178+
if (it.not()) {
179+
pendingAction.value = false
180+
}
181+
},
174182
validationFailureTransformer = { manageStakingActionValidationFailure(it, resourceManager) },
175183
block = block
176184
)

feature-staking-impl/src/main/java/jp/co/soramitsu/feature_staking_impl/presentation/staking/bond/select/SelectBondMoreFragment.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ class SelectBondMoreFragment : BaseFragment<SelectBondMoreViewModel>(R.layout.fr
6767
observeValidations(viewModel)
6868

6969
viewModel.showNextProgress.observe(binding.bondMoreContinue::setProgress)
70+
viewModel.showNextProgress.observe(binding.bondMoreConfirm::setProgress)
7071

7172
viewModel.assetModelFlow.observe {
7273
binding.bondMoreAmount.setAssetBalance(it.assetBalance)

feature-staking-impl/src/main/java/jp/co/soramitsu/feature_staking_impl/presentation/staking/unbond/select/SelectUnbondFragment.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ class SelectUnbondFragment : BaseFragment<SelectUnbondViewModel>(R.layout.fragme
6666
observeValidations(viewModel)
6767

6868
viewModel.showNextProgress.observe(binding.unbondContinue::setProgress)
69+
viewModel.showNextProgress.observe(binding.unbondConfirm::setProgress)
6970

7071
viewModel.assetModelFlow.observe {
7172
binding.unbondAmount.setAssetBalance(it.assetBalance)

0 commit comments

Comments
 (0)