diff --git a/lib/models/exchange/exchange_form_state.dart b/lib/models/exchange/exchange_form_state.dart index c82d5e24f..2131486a9 100644 --- a/lib/models/exchange/exchange_form_state.dart +++ b/lib/models/exchange/exchange_form_state.dart @@ -654,7 +654,7 @@ class ExchangeFormState extends ChangeNotifier { } } - Future updateFrom( + Future updateSendCurrency( Currency sendCurrency, bool shouldNotifyListeners, ) async { @@ -667,15 +667,15 @@ class ExchangeFormState extends ChangeNotifier { shouldNotifyListeners: false, ); } + if (shouldNotifyListeners) { + notifyListeners(); + } } catch (e, s) { Logging.instance.log("$e\n$s", level: LogLevel.Error); } - if (shouldNotifyListeners) { - notifyListeners(); - } } - Future updateTo( + Future updateReceivingCurrency( Currency receiveCurrency, bool shouldNotifyListeners, ) async { @@ -689,12 +689,12 @@ class ExchangeFormState extends ChangeNotifier { shouldNotifyListeners: false, ); } + if (shouldNotifyListeners) { + notifyListeners(); + } } catch (e, s) { Logging.instance.log("$e\n$s", level: LogLevel.Error); } - if (shouldNotifyListeners) { - notifyListeners(); - } } Future swap({ diff --git a/lib/pages/exchange_view/exchange_form.dart b/lib/pages/exchange_view/exchange_form.dart index 6f5caaf05..f23c7349b 100644 --- a/lib/pages/exchange_view/exchange_form.dart +++ b/lib/pages/exchange_view/exchange_form.dart @@ -121,10 +121,10 @@ class _ExchangeFormState extends ConsumerState { await _showCurrencySelectionSheet( willChange: ref.read(exchangeFormStateProvider(type)).sendCurrency, paired: ref.read(exchangeFormStateProvider(type)).receiveCurrency, - isFixedRate: ref.read(prefsChangeNotifierProvider).exchangeRateType == - ExchangeRateType.fixed, - onSelected: (to) => - ref.read(exchangeFormStateProvider(type)).updateTo(to, true), + isFixedRate: type == ExchangeRateType.fixed, + onSelected: (selectedCurrency) => ref + .read(exchangeFormStateProvider(type)) + .updateSendCurrency(selectedCurrency, true), ); unawaited( @@ -167,10 +167,10 @@ class _ExchangeFormState extends ConsumerState { await _showCurrencySelectionSheet( willChange: ref.read(exchangeFormStateProvider(type)).receiveCurrency, paired: ref.read(exchangeFormStateProvider(type)).sendCurrency, - isFixedRate: ref.read(prefsChangeNotifierProvider).exchangeRateType == - ExchangeRateType.fixed, - onSelected: (to) => - ref.read(exchangeFormStateProvider(type)).updateTo(to, true), + isFixedRate: type == ExchangeRateType.fixed, + onSelected: (selectedCurrency) => ref + .read(exchangeFormStateProvider(type)) + .updateReceivingCurrency(selectedCurrency, true), ); unawaited( @@ -389,10 +389,12 @@ class _ExchangeFormState extends ConsumerState { _receiveController.text = ""; } - await ref.read(exchangeFormStateProvider(type)).updateTo(to, false); await ref .read(exchangeFormStateProvider(type)) - .updateFrom(from, true); + .updateReceivingCurrency(to, false); + await ref + .read(exchangeFormStateProvider(type)) + .updateSendCurrency(from, true); _receiveController.text = ref.read(exchangeFormStateProvider(type)).toAmountString.isEmpty