diff --git a/app/src/main/java/com/tangem/tap/common/extensions/Store.kt b/app/src/main/java/com/tangem/tap/common/extensions/Store.kt index f29950807f..7a0488d1a5 100644 --- a/app/src/main/java/com/tangem/tap/common/extensions/Store.kt +++ b/app/src/main/java/com/tangem/tap/common/extensions/Store.kt @@ -76,6 +76,6 @@ fun Store<*>.dispatchDialogShow(dialog: StateDialog) { fun Store<*>.dispatchDialogHide() { scope.launch(Dispatchers.Main) { - store.dispatch(GlobalAction.HideDialog()) + store.dispatch(GlobalAction.HideDialog) } } diff --git a/app/src/main/java/com/tangem/tap/common/extensions/WalletManager.kt b/app/src/main/java/com/tangem/tap/common/extensions/WalletManager.kt index 39e0103066..58284b0cc0 100644 --- a/app/src/main/java/com/tangem/tap/common/extensions/WalletManager.kt +++ b/app/src/main/java/com/tangem/tap/common/extensions/WalletManager.kt @@ -22,9 +22,8 @@ import timber.log.Timber */ suspend fun WalletManager.safeUpdate(): Result = try { val scanResponse = store.state.globalState.scanResponse - ?: error("Scan response must not be null") - if (scanResponse.isDemoCard() || TestActions.testAmountInjectionForWalletManagerEnabled) { + if (scanResponse?.isDemoCard() == true || TestActions.testAmountInjectionForWalletManagerEnabled) { delay(500) TestActions.testAmountInjectionForWalletManagerEnabled = false Result.Success(wallet) 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 5e74cc3d0b..4927405ccd 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 @@ -34,7 +34,7 @@ sealed class GlobalAction : Action { // dialogs data class ShowDialog(val stateDialog: StateDialog) : GlobalAction() - data class HideDialog(val stateDialog: StateDialog? = null) : GlobalAction() + object HideDialog : GlobalAction() sealed class Onboarding { data class Start(val scanResponse: ScanResponse?, val fromHomeScreen: Boolean = true) : GlobalAction() 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 d8804bb12a..449d47ae10 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 @@ -68,11 +68,7 @@ fun globalReducer(action: Action, state: AppState): GlobalState { globalState.copy(dialog = action.stateDialog) } is GlobalAction.HideDialog -> { - if (action.stateDialog == null || action.stateDialog == globalState.dialog) { - globalState.copy(dialog = null) - } else { - globalState - } + globalState.copy(dialog = null) } is GlobalAction.ExchangeManager.Init.Success -> { globalState.copy(exchangeManager = action.exchangeManager) diff --git a/app/src/main/java/com/tangem/tap/common/ui/SimpleAlertDialog.kt b/app/src/main/java/com/tangem/tap/common/ui/SimpleAlertDialog.kt index fbb6528a7a..8cd6e7e5ba 100644 --- a/app/src/main/java/com/tangem/tap/common/ui/SimpleAlertDialog.kt +++ b/app/src/main/java/com/tangem/tap/common/ui/SimpleAlertDialog.kt @@ -51,7 +51,7 @@ class SimpleCancelableAlertDialog { setNegativeButton(context.getText(secondaryButtonRes)) { _, _ -> secondaryButtonAction()} } setOnDismissListener { - store.dispatch(GlobalAction.HideDialog()) + store.dispatch(GlobalAction.HideDialog) } }.create() } diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/ApproveWcSessionDialog.kt b/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/ApproveWcSessionDialog.kt index 4af9323fa1..b9fd651bb8 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/ApproveWcSessionDialog.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/ApproveWcSessionDialog.kt @@ -5,7 +5,6 @@ import androidx.appcompat.app.AlertDialog import com.tangem.blockchain.common.Blockchain import com.tangem.tap.common.redux.global.GlobalAction import com.tangem.tap.features.details.redux.walletconnect.WalletConnectAction -import com.tangem.tap.features.details.redux.walletconnect.WalletConnectDialog import com.tangem.tap.features.details.redux.walletconnect.WalletConnectSession import com.tangem.tap.store import com.tangem.wallet.R @@ -23,19 +22,22 @@ class ApproveWcSessionDialog { setTitle(context.getString(R.string.wallet_connect)) setMessage(message) setPositiveButton(context.getText(R.string.common_start)) { _, _ -> + store.dispatch(GlobalAction.HideDialog) store.dispatch(WalletConnectAction.ChooseNetwork(session.wallet.blockchain!!)) } if (networks.size > 1) { setNeutralButton(context.getText(R.string.wallet_connect_select_network)) { _, _ -> - store.dispatch(GlobalAction.HideDialog(WalletConnectDialog.ApproveWcSession(session, networks))) + store.dispatch(GlobalAction.HideDialog) store.dispatch(WalletConnectAction.SelectNetwork(session = session, networks = networks)) } } setNegativeButton(context.getText(R.string.common_reject)) { _, _ -> + store.dispatch(GlobalAction.HideDialog) store.dispatch(WalletConnectAction.FailureEstablishingSession(session.session)) } - setOnDismissListener { - store.dispatch(GlobalAction.HideDialog(WalletConnectDialog.ApproveWcSession(session, networks))) + setOnCancelListener { + store.dispatch(GlobalAction.HideDialog) + store.dispatch(WalletConnectAction.FailureEstablishingSession(session.session)) } }.create() } diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/BnbTransactionDialog.kt b/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/BnbTransactionDialog.kt index 1763c140d0..2ec39ca844 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/BnbTransactionDialog.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/BnbTransactionDialog.kt @@ -58,7 +58,7 @@ class BnbTransactionDialog { store.dispatch(WalletConnectAction.RejectRequest(session, sessionId)) } setOnDismissListener { - store.dispatch(GlobalAction.HideDialog()) + store.dispatch(GlobalAction.HideDialog) } }.create() } diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/ChooseNetworkDialog.kt b/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/ChooseNetworkDialog.kt index dedf44dd04..8e0ffe0f4a 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/ChooseNetworkDialog.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/ChooseNetworkDialog.kt @@ -21,7 +21,7 @@ object ChooseNetworkDialog { store.dispatch(WalletConnectAction.FailureEstablishingSession(session.session)) } .setOnDismissListener { - store.dispatch(GlobalAction.HideDialog()) + store.dispatch(GlobalAction.HideDialog) } .setSingleChoiceItems(networks.map { it.fullName }.toTypedArray(), 0) { _, which -> networks.getOrNull(which)?.let { selectedBlockchain -> @@ -30,7 +30,7 @@ object ChooseNetworkDialog { blockchain = selectedBlockchain, ), ) - store.dispatch(GlobalAction.HideDialog()) + store.dispatch(GlobalAction.HideDialog) } } .create() diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/ClipboardOrScanQrDialog.kt b/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/ClipboardOrScanQrDialog.kt index 30604f69e9..809b37cf66 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/ClipboardOrScanQrDialog.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/ClipboardOrScanQrDialog.kt @@ -22,7 +22,7 @@ class ClipboardOrScanQrDialog { store.dispatch(NavigationAction.NavigateTo(AppScreen.QrScan)) } setOnDismissListener { - store.dispatch(GlobalAction.HideDialog()) + store.dispatch(GlobalAction.HideDialog) } }.create() } diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/PersonalSignDialog.kt b/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/PersonalSignDialog.kt index ebbf5ac86c..789384c758 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/PersonalSignDialog.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/PersonalSignDialog.kt @@ -29,7 +29,7 @@ class PersonalSignDialog { store.dispatch(WalletConnectAction.RejectRequest(data.session, data.id)) } setOnDismissListener { - store.dispatch(GlobalAction.HideDialog()) + store.dispatch(GlobalAction.HideDialog) } }.create() } diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/TransactionDialog.kt b/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/TransactionDialog.kt index 81d5fd6770..192fc3d9e1 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/TransactionDialog.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/dialogs/TransactionDialog.kt @@ -45,7 +45,7 @@ class TransactionDialog { store.dispatch(WalletConnectAction.RejectRequest(data.session, data.id)) } setOnDismissListener { - store.dispatch(GlobalAction.HideDialog()) + store.dispatch(GlobalAction.HideDialog) } }.create() } diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/dialogs/AddMoreBackupCardsDialog.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/dialogs/AddMoreBackupCardsDialog.kt index 0c8b5d924e..883ce390dc 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/dialogs/AddMoreBackupCardsDialog.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/dialogs/AddMoreBackupCardsDialog.kt @@ -20,7 +20,7 @@ class AddMoreBackupCardsDialog { } setOnDismissListener { - store.dispatch(GlobalAction.HideDialog()) + store.dispatch(GlobalAction.HideDialog) } }.create() } diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/dialogs/BackupInProgressDialog.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/dialogs/BackupInProgressDialog.kt index f6ef3c6138..9b619eef7d 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/dialogs/BackupInProgressDialog.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/dialogs/BackupInProgressDialog.kt @@ -13,10 +13,10 @@ class BackupInProgressDialog { setTitle(R.string.alert_title) setMessage(R.string.onboarding_backup_exit_warning) setPositiveButton(R.string.warning_button_ok) { _, _ -> - store.dispatch(GlobalAction.HideDialog()) + store.dispatch(GlobalAction.HideDialog) } setOnDismissListener { - store.dispatch(GlobalAction.HideDialog()) + store.dispatch(GlobalAction.HideDialog) } }.create() } diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/dialogs/ConfirmDiscardingBackupDialog.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/dialogs/ConfirmDiscardingBackupDialog.kt index 6ed98a06cc..8b88890be8 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/dialogs/ConfirmDiscardingBackupDialog.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/dialogs/ConfirmDiscardingBackupDialog.kt @@ -20,7 +20,7 @@ class ConfirmDiscardingBackupDialog { store.dispatch(BackupAction.DiscardSavedBackup) } setOnDismissListener { - store.dispatch(GlobalAction.HideDialog()) + store.dispatch(GlobalAction.HideDialog) } setCancelable(false) }.create() diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/dialogs/UnfinishedBackupFoundDialog.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/dialogs/UnfinishedBackupFoundDialog.kt index 9419fb3965..b51a53e29f 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/dialogs/UnfinishedBackupFoundDialog.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/dialogs/UnfinishedBackupFoundDialog.kt @@ -15,11 +15,11 @@ class UnfinishedBackupFoundDialog { setTitle(R.string.alert_title) setMessage(R.string.welcome_interrupted_backup_alert_message) setPositiveButton(R.string.welcome_interrupted_backup_alert_resume) { _, _ -> - store.dispatch(GlobalAction.HideDialog()) + store.dispatch(GlobalAction.HideDialog) store.dispatch(BackupAction.ResumeBackup) } setNegativeButton(R.string.welcome_interrupted_backup_alert_discard) { _, _ -> - store.dispatch(GlobalAction.HideDialog()) + store.dispatch(GlobalAction.HideDialog) store.dispatch(GlobalAction.ShowDialog(BackupDialog.ConfirmDiscardingBackup)) } setCancelable(false)