diff --git a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt index 45bc0c2707..2a2a612757 100644 --- a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt +++ b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt @@ -1,5 +1,6 @@ package com.tangem.tap.common.redux.global +import com.tangem.common.CompletionResult import com.tangem.tap.domain.configurable.config.ConfigManager import com.tangem.tap.domain.configurable.warningMessage.WarningMessage import com.tangem.tap.domain.configurable.warningMessage.WarningMessagesManager @@ -11,18 +12,25 @@ import org.rekotlin.Action sealed class GlobalAction : Action { + object ScanFailsCounter { + data class ChooseBehavior(val result: CompletionResult) : GlobalAction() + object Reset : GlobalAction() + object Increment : GlobalAction() + } + data class SaveScanNoteResponse(val scanNoteResponse: ScanNoteResponse) : GlobalAction() data class ChangeAppCurrency(val appCurrency: FiatCurrencyName) : GlobalAction() object RestoreAppCurrency : GlobalAction() { data class Success(val appCurrency: FiatCurrencyName) : GlobalAction() } + data class UpdateWalletSignedHashes(val walletSignedHashes: Int?) : GlobalAction() data class HideWarningMessage(val warning: WarningMessage) : GlobalAction() data class UpdateSecurityOptions(val securityOption: SecurityOption) : GlobalAction() data class SetConfigManager(val configManager: ConfigManager) : GlobalAction() data class SetWarningManager(val warningManager: WarningMessagesManager) : GlobalAction() - data class SetFeedbackManager(val feedbackManager: FeedbackManager): GlobalAction() + data class SetFeedbackManager(val feedbackManager: FeedbackManager) : GlobalAction() - data class SendFeedback(val emailData: EmailData): GlobalAction() + data class SendFeedback(val emailData: EmailData) : GlobalAction() } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalMidlleware.kt b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalMidlleware.kt index 0c8de5dc8d..bc4a389355 100644 --- a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalMidlleware.kt +++ b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalMidlleware.kt @@ -1,8 +1,11 @@ package com.tangem.tap.common.redux.global +import com.tangem.TangemSdkError +import com.tangem.common.CompletionResult import com.tangem.tap.common.redux.AppState import com.tangem.tap.domain.configurable.warningMessage.WarningMessage import com.tangem.tap.domain.configurable.warningMessage.WarningMessagesManager +import com.tangem.tap.features.home.redux.HomeAction import com.tangem.tap.features.send.redux.SendAction import com.tangem.tap.features.wallet.redux.WalletAction import com.tangem.tap.preferencesStorage @@ -13,6 +16,22 @@ val globalMiddleware: Middleware = { dispatch, appState -> { nextDispatch -> { action -> when (action) { + is GlobalAction.ScanFailsCounter.ChooseBehavior -> { + when (action.result) { + is CompletionResult.Success -> store.dispatch(GlobalAction.ScanFailsCounter.Reset) + is CompletionResult.Failure -> { + if (action.result.error is TangemSdkError.UserCancelled) { + store.dispatch(GlobalAction.ScanFailsCounter.Increment) + if (store.state.globalState.scanCardFailsCounter >= 2) { + store.dispatch(HomeAction.ShowDialog.ScanFails) + store.dispatch(WalletAction.ShowDialog.ScanFails) + } + } else { + store.dispatch(GlobalAction.ScanFailsCounter.Reset) + } + } + } + } is GlobalAction.RestoreAppCurrency -> { store.dispatch(GlobalAction.RestoreAppCurrency.Success( preferencesStorage.getAppCurrency() diff --git a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalReducer.kt b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalReducer.kt index 8df35e1064..eeecf8fb76 100644 --- a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalReducer.kt +++ b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalReducer.kt @@ -11,6 +11,12 @@ fun globalReducer(action: Action, state: AppState): GlobalState { val globalState = state.globalState return when (action) { + is GlobalAction.ScanFailsCounter.Increment -> { + globalState.copy(scanCardFailsCounter = globalState.scanCardFailsCounter + 1) + } + is GlobalAction.ScanFailsCounter.Reset -> { + globalState.copy(scanCardFailsCounter = 0) + } is GlobalAction.SaveScanNoteResponse -> globalState.copy(scanNoteResponse = action.scanNoteResponse) is GlobalAction.ChangeAppCurrency -> { diff --git a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalState.kt b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalState.kt index 52340df26d..a0ac13bc06 100644 --- a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalState.kt +++ b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalState.kt @@ -20,9 +20,12 @@ data class GlobalState( val configManager: ConfigManager? = null, val warningManager: WarningMessagesManager? = null, val feedbackManager: FeedbackManager? = null, - val appCurrency: FiatCurrencyName = DEFAULT_FIAT_CURRENCY + val appCurrency: FiatCurrencyName = DEFAULT_FIAT_CURRENCY, + val scanCardFailsCounter: Int = 0, ) : StateType typealias CryptoCurrencyName = String typealias FiatCurrencyName = String + +interface StateDialog \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/home/HomeFragment.kt b/app/src/main/java/com/tangem/tap/features/home/HomeFragment.kt index b8b8aa52fc..c93543613e 100644 --- a/app/src/main/java/com/tangem/tap/features/home/HomeFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/home/HomeFragment.kt @@ -1,11 +1,15 @@ package com.tangem.tap.features.home +import android.app.Dialog import android.os.Bundle import android.view.View import androidx.fragment.app.Fragment import androidx.transition.TransitionInflater +import com.tangem.tap.common.redux.global.StateDialog import com.tangem.tap.features.home.redux.HomeAction +import com.tangem.tap.features.home.redux.HomeDialog import com.tangem.tap.features.home.redux.HomeState +import com.tangem.tap.features.wallet.ui.dialogs.ScanFailsDialog import com.tangem.tap.store import com.tangem.wallet.R import kotlinx.android.synthetic.main.fragment_home.* @@ -13,6 +17,8 @@ import org.rekotlin.StoreSubscriber class HomeFragment : Fragment(R.layout.fragment_home), StoreSubscriber { + private var dialog: Dialog? = null + override fun onStart() { super.onStart() store.subscribe(this) { state -> @@ -39,6 +45,19 @@ class HomeFragment : Fragment(R.layout.fragment_home), StoreSubscriber { + if (dialog == null) dialog = ScanFailsDialog.create(requireContext()).apply { show() } + } + else -> { + dialog?.dismiss() + dialog = null + } + } } diff --git a/app/src/main/java/com/tangem/tap/features/home/redux/HomeAction.kt b/app/src/main/java/com/tangem/tap/features/home/redux/HomeAction.kt index 5a9edf9fe7..4a575343c7 100644 --- a/app/src/main/java/com/tangem/tap/features/home/redux/HomeAction.kt +++ b/app/src/main/java/com/tangem/tap/features/home/redux/HomeAction.kt @@ -9,4 +9,10 @@ sealed class HomeAction : Action { object CheckIfFirstLaunch : HomeAction() { data class Result(val firstLaunch: Boolean) : HomeAction() } + + object ShowDialog : HomeAction() { + object ScanFails : HomeAction() + } + + object HideDialog : HomeAction() } diff --git a/app/src/main/java/com/tangem/tap/features/home/redux/HomeMiddleware.kt b/app/src/main/java/com/tangem/tap/features/home/redux/HomeMiddleware.kt index aaf52f3564..b084b208cb 100644 --- a/app/src/main/java/com/tangem/tap/features/home/redux/HomeMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/home/redux/HomeMiddleware.kt @@ -32,6 +32,7 @@ class HomeMiddleware { scope.launch { val result = tangemSdkManager.scanNote(FirebaseAnalyticsHandler) withContext(Dispatchers.Main) { + store.dispatch(GlobalAction.ScanFailsCounter.ChooseBehavior(result)) when (result) { is CompletionResult.Success -> { tangemSdkManager.changeDisplayedCardIdNumbersCount(result.data.card) diff --git a/app/src/main/java/com/tangem/tap/features/home/redux/HomeReducer.kt b/app/src/main/java/com/tangem/tap/features/home/redux/HomeReducer.kt index b88da93641..3c031ed7b2 100644 --- a/app/src/main/java/com/tangem/tap/features/home/redux/HomeReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/home/redux/HomeReducer.kt @@ -18,6 +18,12 @@ private fun internalReduce(action: Action, state: AppState): HomeState { is HomeAction.CheckIfFirstLaunch.Result -> { homeState = homeState.copy(firstLaunch = action.firstLaunch) } + is HomeAction.ShowDialog.ScanFails -> { + homeState = homeState.copy(dialog = HomeDialog.ScanFailsDialog) + } + is HomeAction.HideDialog -> { + homeState = homeState.copy(dialog = null) + } } return homeState diff --git a/app/src/main/java/com/tangem/tap/features/home/redux/HomeState.kt b/app/src/main/java/com/tangem/tap/features/home/redux/HomeState.kt index b167e66785..c9fce9b492 100644 --- a/app/src/main/java/com/tangem/tap/features/home/redux/HomeState.kt +++ b/app/src/main/java/com/tangem/tap/features/home/redux/HomeState.kt @@ -1,7 +1,13 @@ package com.tangem.tap.features.home.redux +import com.tangem.tap.common.redux.global.StateDialog import org.rekotlin.StateType data class HomeState( - val firstLaunch: Boolean = true + val firstLaunch: Boolean = true, + val dialog: StateDialog? = null ) : StateType + +sealed class HomeDialog: StateDialog { + object ScanFailsDialog: HomeDialog() +} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/send/redux/SendScreenAction.kt b/app/src/main/java/com/tangem/tap/features/send/redux/SendScreenAction.kt index 36e7ae943b..0d0d2d8bc7 100644 --- a/app/src/main/java/com/tangem/tap/features/send/redux/SendScreenAction.kt +++ b/app/src/main/java/com/tangem/tap/features/send/redux/SendScreenAction.kt @@ -6,6 +6,7 @@ import com.tangem.blockchain.common.Blockchain import com.tangem.blockchain.common.WalletManager import com.tangem.tap.common.redux.ErrorAction import com.tangem.tap.common.redux.ToastNotificationAction +import com.tangem.tap.common.redux.global.StateDialog import com.tangem.tap.domain.TapError import com.tangem.tap.domain.configurable.warningMessage.WarningMessage import com.tangem.tap.features.send.redux.states.FeeType @@ -142,7 +143,7 @@ sealed class SendAction : SendScreenAction { data class SendError(override val error: TapError) : SendAction(), ErrorAction - sealed class Dialog : SendAction() { + sealed class Dialog : SendAction(), StateDialog { data class TezosWarningDialog( val reduceCallback: () -> Unit, val sendAllCallback: () -> Unit, diff --git a/app/src/main/java/com/tangem/tap/features/send/redux/states/SendState.kt b/app/src/main/java/com/tangem/tap/features/send/redux/states/SendState.kt index c4e57d708a..1e4e8d5072 100644 --- a/app/src/main/java/com/tangem/tap/features/send/redux/states/SendState.kt +++ b/app/src/main/java/com/tangem/tap/features/send/redux/states/SendState.kt @@ -6,10 +6,10 @@ import com.tangem.blockchain.common.WalletManager import com.tangem.common.extensions.isZero import com.tangem.tap.common.CurrencyConverter import com.tangem.tap.common.entities.TapCurrency +import com.tangem.tap.common.redux.global.StateDialog import com.tangem.tap.common.text.DecimalDigitsInputFilter import com.tangem.tap.domain.TapError import com.tangem.tap.domain.configurable.warningMessage.WarningMessage -import com.tangem.tap.features.send.redux.SendAction import com.tangem.tap.store import org.rekotlin.StateType import java.math.BigDecimal @@ -40,7 +40,7 @@ data class SendState( val receiptState: ReceiptState = ReceiptState(), val sendWarningsList: List = listOf(), val sendButtonState: SendButtonState = SendButtonState.DISABLED, - val dialog: SendAction.Dialog? = null + val dialog: StateDialog? = null ) : SendScreenState { override val stateId: StateId = StateId.SEND_SCREEN diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt index b85af64448..f623671395 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt @@ -1,7 +1,6 @@ package com.tangem.tap.features.wallet.redux import android.content.Context -import com.tangem.TangemError import com.tangem.blockchain.common.* import com.tangem.blockchain.common.address.AddressType import com.tangem.commands.common.card.Card @@ -99,7 +98,6 @@ sealed class WalletAction : Action { } object Scan : WalletAction() - class ScanCardFinished(val scanError: TangemError? = null) : WalletAction() data class Send(val amount: Amount? = null) : WalletAction() { data class ChooseCurrency(val amounts: List?) : WalletAction() diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletState.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletState.kt index 6bf6a41ffc..a806c477b7 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletState.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletState.kt @@ -6,6 +6,7 @@ import com.tangem.blockchain.common.address.AddressType import com.tangem.blockchain.extensions.isAboveZero import com.tangem.tap.common.entities.Button import com.tangem.tap.common.redux.global.CryptoCurrencyName +import com.tangem.tap.common.redux.global.StateDialog import com.tangem.tap.domain.configurable.warningMessage.WarningMessage import com.tangem.tap.domain.extensions.toSendableAmounts import com.tangem.tap.domain.twins.TwinCardNumber @@ -22,10 +23,9 @@ data class WalletState( val error: ErrorType? = null, val cardImage: Artwork? = null, val hashesCountVerified: Boolean? = null, - val walletDialog: WalletDialog? = null, + val walletDialog: StateDialog? = null, val twinCardsState: TwinCardsState? = null, val mainWarningsList: List = mutableListOf(), - val scanCardFailsCounter: Int = 0, val wallets: List = emptyList(), val walletManagers: List = emptyList(), val isMultiwalletAllowed: Boolean = false, @@ -96,7 +96,7 @@ data class WalletState( } -sealed class WalletDialog { +sealed class WalletDialog: StateDialog { data class QrDialog( val qrCode: Bitmap?, val shareUrl: String?, val currencyName: CryptoCurrencyName? ) : WalletDialog() diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WalletMiddleware.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WalletMiddleware.kt index 6cd4f9da3a..6d27122a01 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WalletMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WalletMiddleware.kt @@ -3,7 +3,6 @@ package com.tangem.tap.features.wallet.redux.middlewares import android.content.Intent import android.net.Uri import androidx.core.content.ContextCompat -import com.tangem.TangemSdkError import com.tangem.blockchain.common.* import com.tangem.common.CompletionResult import com.tangem.common.extensions.isZero @@ -12,6 +11,7 @@ import com.tangem.tap.common.analytics.FirebaseAnalyticsHandler import com.tangem.tap.common.extensions.copyToClipboard import com.tangem.tap.common.extensions.shareText import com.tangem.tap.common.redux.AppState +import com.tangem.tap.common.redux.global.GlobalAction import com.tangem.tap.common.redux.navigation.AppScreen import com.tangem.tap.common.redux.navigation.NavigationAction import com.tangem.tap.domain.extensions.toSendableAmounts @@ -135,20 +135,11 @@ class WalletMiddleware { scope.launch { val result = tangemSdkManager.scanNote(FirebaseAnalyticsHandler) scope.launch(Dispatchers.Main) { + store.dispatch(GlobalAction.ScanFailsCounter.ChooseBehavior(result)) when (result) { is CompletionResult.Success -> { tangemSdkManager.changeDisplayedCardIdNumbersCount(result.data.card) - globalState?.tapWalletManager - ?.onCardScanned(result.data, true) - store.dispatch(WalletAction.ScanCardFinished()) - } - is CompletionResult.Failure -> { - if (result.error !is TangemSdkError.UserCancelled) { - store.dispatch(WalletAction.ScanCardFinished(result.error)) - if (store.state.walletState.scanCardFailsCounter >= 2) { - store.dispatch(WalletAction.ShowDialog.ScanFails) - } - } + globalState?.tapWalletManager?.onCardScanned(result.data, true) } } } diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/reducers/WalletReducer.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/reducers/WalletReducer.kt index f70ba93b11..da5b7d515e 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/reducers/WalletReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/reducers/WalletReducer.kt @@ -246,13 +246,6 @@ private fun internalReduce(action: Action, state: AppState): WalletState { ) newState = newState.copy(wallets = wallets) } - is WalletAction.ScanCardFinished -> { - newState = if (action.scanError == null) { - newState.copy(scanCardFailsCounter = 0) - } else { - newState.copy(scanCardFailsCounter = newState.scanCardFailsCounter + 1) - } - } } return newState } diff --git a/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletDetailsFragment.kt b/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletDetailsFragment.kt index 0cfff7bb46..6517bd7c11 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletDetailsFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletDetailsFragment.kt @@ -11,6 +11,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.transition.TransitionInflater import com.tangem.blockchain.common.Blockchain import com.tangem.tap.common.extensions.* +import com.tangem.tap.common.redux.global.StateDialog import com.tangem.tap.common.redux.navigation.NavigationAction import com.tangem.tap.features.wallet.models.PendingTransaction import com.tangem.tap.features.wallet.redux.WalletAction @@ -249,7 +250,7 @@ class WalletDetailsFragment : Fragment(R.layout.fragment_wallet_details), StoreS } } - private fun handleDialogs(walletDialog: WalletDialog?) { + private fun handleDialogs(walletDialog: StateDialog?) { when (walletDialog) { is WalletDialog.SelectAmountToSendDialog -> { if (dialog == null) dialog = AmountToSendDialog(requireContext()).apply { diff --git a/app/src/main/java/com/tangem/tap/features/wallet/ui/dialogs/ScanFailsDialog.kt b/app/src/main/java/com/tangem/tap/features/wallet/ui/dialogs/ScanFailsDialog.kt index 9a8ff9ace5..b3f63a0236 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/ui/dialogs/ScanFailsDialog.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/ui/dialogs/ScanFailsDialog.kt @@ -4,6 +4,7 @@ import android.content.Context import androidx.appcompat.app.AlertDialog import com.tangem.tap.common.redux.global.GlobalAction import com.tangem.tap.features.feedback.ScanFailsEmail +import com.tangem.tap.features.home.redux.HomeAction import com.tangem.tap.features.wallet.redux.WalletAction import com.tangem.tap.store import com.tangem.wallet.R @@ -22,7 +23,10 @@ class ScanFailsDialog { store.dispatch(GlobalAction.SendFeedback(ScanFailsEmail())) } setNegativeButton(R.string.common_cancel) { _, _ -> } - setOnDismissListener { store.dispatch(WalletAction.HideDialog) } + setOnDismissListener { + store.dispatch(HomeAction.HideDialog) + store.dispatch(WalletAction.HideDialog) + } }.create() } } diff --git a/app/src/main/java/com/tangem/tap/features/wallet/ui/wallet/MultiWalletView.kt b/app/src/main/java/com/tangem/tap/features/wallet/ui/wallet/MultiWalletView.kt index 51f47fc82d..9e2320d30c 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/ui/wallet/MultiWalletView.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/ui/wallet/MultiWalletView.kt @@ -4,6 +4,7 @@ import android.app.Dialog import androidx.recyclerview.widget.LinearLayoutManager import com.tangem.tap.common.extensions.hide import com.tangem.tap.common.extensions.show +import com.tangem.tap.common.redux.global.StateDialog import com.tangem.tap.common.redux.navigation.AppScreen import com.tangem.tap.common.redux.navigation.NavigationAction import com.tangem.tap.features.tokens.redux.TokensAction @@ -112,7 +113,7 @@ class MultiWalletView : WalletView { } private fun showErrorState( - fragment: WalletFragment, errorTitle: CharSequence, errorDescription: CharSequence + fragment: WalletFragment, errorTitle: CharSequence, errorDescription: CharSequence, ) { fragment.l_card_balance.show() fragment.l_balance.hide() @@ -131,14 +132,12 @@ class MultiWalletView : WalletView { fragment.btn_confirm_long.text = fragment.getText(R.string.wallet_button_create_wallet) } - private fun handleDialogs(walletDialog: WalletDialog?) { + private fun handleDialogs(walletDialog: StateDialog?) { val fragment = fragment ?: return val context = fragment.context ?: return when (walletDialog) { is WalletDialog.ScanFailsDialog -> { - if (dialog == null) dialog = ScanFailsDialog.create(context).apply { - this.show() - } + if (dialog == null) dialog = ScanFailsDialog.create(context).apply { show() } } else -> { dialog?.dismiss() diff --git a/app/src/main/java/com/tangem/tap/features/wallet/ui/wallet/SingleWalletView.kt b/app/src/main/java/com/tangem/tap/features/wallet/ui/wallet/SingleWalletView.kt index c513331351..e7ff1e5db0 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/ui/wallet/SingleWalletView.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/ui/wallet/SingleWalletView.kt @@ -6,6 +6,7 @@ import android.view.ViewGroup import android.widget.Button import androidx.recyclerview.widget.LinearLayoutManager import com.tangem.tap.common.extensions.* +import com.tangem.tap.common.redux.global.StateDialog import com.tangem.tap.common.redux.navigation.AppScreen import com.tangem.tap.common.redux.navigation.NavigationAction import com.tangem.tap.domain.twins.TwinCardNumber @@ -161,7 +162,7 @@ class SingleWalletView : WalletView { } private fun setupConfirmButton( - state: WalletData, btnConfirm: Button, fragment: WalletFragment, isTwinsWallet: Boolean + state: WalletData, btnConfirm: Button, fragment: WalletFragment, isTwinsWallet: Boolean, ) { val buttonTitle = when (state.mainButton) { is WalletMainButton.SendButton -> R.string.wallet_button_send @@ -215,7 +216,7 @@ class SingleWalletView : WalletView { } } - private fun handleDialogs(walletDialog: WalletDialog?) { + private fun handleDialogs(walletDialog: StateDialog?) { val fragment = fragment ?: return val context = fragment.context ?: return when (walletDialog) { @@ -234,9 +235,7 @@ class SingleWalletView : WalletView { } } is WalletDialog.ScanFailsDialog -> { - if (dialog == null) dialog = ScanFailsDialog.create(context).apply { - this.show() - } + if (dialog == null) dialog = ScanFailsDialog.create(context).apply { show() } } null -> { dialog?.dismiss()