Updated on 2026-08-14

This commit is contained in:
Tangem 2023-11-14 19:07:28 +03:00
parent cef6a7b372
commit f394a5b57b
4 changed files with 11 additions and 5 deletions

View file

@ -51,7 +51,7 @@ internal class MainViewModel @Inject constructor(
}
.onEach {
if (state.value.modalNotification?.isShow != true && !it.isUpdateFromToast) {
listenToFlipsUseCase.isEnabled = false
listenToFlipsUseCase.changeUpdateEnabled(false)
stateHolder.updateWithHiddenBalancesNotification()
reduxNavController.navigate(NavigationAction.NavigateTo(AppScreen.ModalNotification))
}
@ -132,7 +132,7 @@ internal class MainViewModel @Inject constructor(
}
override fun onDismissBottomSheet() {
listenToFlipsUseCase.isEnabled = true
listenToFlipsUseCase.changeUpdateEnabled(true)
stateHolder.updateWithoutModalNotification()
stateHolder.updateWithHiddenBalancesToast(true)
}

View file

@ -15,6 +15,8 @@ internal class DefaultBalanceHidingRepository(
private val dispatchers: CoroutineDispatcherProvider,
) : BalanceHidingRepository {
override var isUpdateEnabled: Boolean = true
override fun getBalanceHidingSettingsFlow(): Flow<BalanceHidingSettings> {
return balanceHidingSettingsStore.get()
.onStart { emit(getBalanceHidingSettings()) }

View file

@ -14,8 +14,6 @@ class ListenToFlipsUseCase(
private val balanceHidingRepository: BalanceHidingRepository,
) {
var isEnabled: Boolean = true
operator fun invoke(): Flow<Either<HideBalancesError, Unit>> = channelFlow {
flipDetector.getDeviceFlipFlow().collectLatest {
val balanceHidingSettings = catch(
@ -26,7 +24,7 @@ class ListenToFlipsUseCase(
},
)
if (balanceHidingSettings.isHidingEnabledInSettings && isEnabled) {
if (balanceHidingSettings.isHidingEnabledInSettings && balanceHidingRepository.isUpdateEnabled) {
catch(
block = {
balanceHidingRepository.storeBalanceHidingSettings(
@ -43,4 +41,8 @@ class ListenToFlipsUseCase(
}
}
}
fun changeUpdateEnabled(isUpdateEnabled: Boolean) {
balanceHidingRepository.isUpdateEnabled = isUpdateEnabled
}
}

View file

@ -5,6 +5,8 @@ import kotlinx.coroutines.flow.Flow
interface BalanceHidingRepository {
var isUpdateEnabled: Boolean
fun getBalanceHidingSettingsFlow(): Flow<BalanceHidingSettings>
suspend fun storeBalanceHidingSettings(isBalanceHidden: BalanceHidingSettings)