fix zero initial fee rates in RBF rate picker (#1585)
* fix zero initial fee rates in RBF rate picker * fix for other settings page[skip ci]
Serhii committed
Aug 10, 2024 at 01:18 UTC
9c29dbd6fd7823e4deb5da871b752087ca8ef06f
5 files changed
+19
-7
lib/di.dart
+2
-2
@@ -759,8 +759,8 @@ Future<void> setup({
759
getIt.registerFactory(() => TrocadorProvidersViewModel(getIt.get<SettingsStore>()));
760
761
getIt.registerFactory(() {
762
- return OtherSettingsViewModel(getIt.get<SettingsStore>(), getIt.get<AppStore>().wallet!);
763
- });
762
+ return OtherSettingsViewModel(getIt.get<SettingsStore>(), getIt.get<AppStore>().wallet!,
763
+ getIt.get<SendViewModel>());});
764
765
getIt.registerFactory(() {
766
return SecuritySettingsViewModel(getIt.get<SettingsStore>());
lib/src/screens/settings/other_settings_page.dart
+6
-1
@@ -1,3 +1,4 @@
1
+import 'package:cake_wallet/bitcoin/bitcoin.dart';
2
import 'package:cake_wallet/entities/priority_for_wallet_type.dart';
3
import 'package:cake_wallet/generated/i18n.dart';
4
import 'package:cake_wallet/routes.dart';
@@ -12,7 +13,11 @@ import 'package:flutter/material.dart';
13
import 'package:flutter_mobx/flutter_mobx.dart';
14
15
class OtherSettingsPage extends BasePage {
15
- OtherSettingsPage(this._otherSettingsViewModel);
16
+ OtherSettingsPage(this._otherSettingsViewModel) {
17
+ if (_otherSettingsViewModel.sendViewModel.isElectrumWallet) {
18
+ bitcoin!.updateFeeRates(_otherSettingsViewModel.sendViewModel.wallet);
19
+ }
20
+ }
21
22
@override
23
String get title => S.current.other_settings;
lib/src/screens/transaction_details/transaction_details_page.dart
+6
-1
@@ -1,3 +1,4 @@
1
+import 'package:cake_wallet/bitcoin/bitcoin.dart';
2
import 'package:cake_wallet/generated/i18n.dart';
3
import 'package:cake_wallet/routes.dart';
4
import 'package:cake_wallet/src/screens/base_page.dart';
@@ -15,7 +16,11 @@ import 'package:flutter/services.dart';
16
import 'package:flutter_mobx/flutter_mobx.dart';
17
18
class TransactionDetailsPage extends BasePage {
18
- TransactionDetailsPage({required this.transactionDetailsViewModel});
19
+ TransactionDetailsPage({required this.transactionDetailsViewModel}) {
20
+ if (transactionDetailsViewModel.sendViewModel.isElectrumWallet) {
21
+ bitcoin!.updateFeeRates(transactionDetailsViewModel.sendViewModel.wallet);
22
+ }
23
+ }
24
25
@override
26
String get title => S.current.transaction_details_title;
lib/src/widgets/picker.dart
+2
-2
@@ -499,10 +499,10 @@ class _PickerState<Item> extends State<Picker<Item>> {
499
children: <Widget>[
500
Expanded(
501
child: Slider(
502
- value: widget.sliderValue ?? 1,
502
+ value: widget.sliderValue == null || widget.sliderValue! < 1 ? 1 : widget.sliderValue!,
503
onChanged: isActivated ? widget.onSliderChanged : null,
504
min: widget.minValue ?? 1,
505
- max: widget.maxValue ?? 100,
505
+ max: (widget.maxValue == null || widget.maxValue! < 1) ? 100 : widget.maxValue!,
506
divisions: 100,
507
),
508
),
lib/view_model/settings/other_settings_view_model.dart
+3
-1
@@ -4,6 +4,7 @@ import 'package:cake_wallet/entities/provider_types.dart';
4
import 'package:cake_wallet/generated/i18n.dart';
5
import 'package:cake_wallet/store/settings_store.dart';
6
import 'package:cake_wallet/utils/package_info.dart';
7
+import 'package:cake_wallet/view_model/send/send_view_model.dart';
8
// import 'package:package_info/package_info.dart';
9
import 'package:collection/collection.dart';
10
import 'package:cw_core/balance.dart';
@@ -20,7 +21,7 @@ class OtherSettingsViewModel = OtherSettingsViewModelBase
21
with _$OtherSettingsViewModel;
22
23
abstract class OtherSettingsViewModelBase with Store {
23
- OtherSettingsViewModelBase(this._settingsStore, this._wallet)
24
+ OtherSettingsViewModelBase(this._settingsStore, this._wallet, this.sendViewModel)
25
: walletType = _wallet.type,
26
currentVersion = '' {
27
PackageInfo.fromPlatform().then(
@@ -42,6 +43,7 @@ abstract class OtherSettingsViewModelBase with Store {
43
String currentVersion;
44
45
final SettingsStore _settingsStore;
46
+ final SendViewModel sendViewModel;
47
48
@computed
49
TransactionPriority get transactionPriority {