diff --git a/lib/di.dart b/lib/di.dart index 1acdad2dd..ae55c0ce6 100644 --- a/lib/di.dart +++ b/lib/di.dart @@ -37,6 +37,7 @@ import 'package:cake_wallet/view_model/settings/other_settings_view_model.dart'; import 'package:cake_wallet/view_model/settings/privacy_settings_view_model.dart'; import 'package:cake_wallet/view_model/settings/security_settings_view_model.dart'; import 'package:cake_wallet/view_model/advanced_privacy_settings_view_model.dart'; +import 'package:cake_wallet/view_model/wallet_address_list/wallet_address_list_item.dart'; import 'package:cw_core/unspent_coins_info.dart'; import 'package:cake_wallet/core/backup_service.dart'; import 'package:cw_core/wallet_service.dart'; @@ -365,8 +366,8 @@ Future setup( addressListViewModel: getIt.get(), walletViewModel: getIt.get())); - getIt.registerFactoryParam( - (dynamic item, _) => WalletAddressEditOrCreateViewModel( + getIt.registerFactoryParam( + (WalletAddressListItem? item, _) => WalletAddressEditOrCreateViewModel( wallet: getIt.get().wallet!, item: item)); getIt.registerFactoryParam( diff --git a/lib/src/screens/subaddress/address_edit_or_create_page.dart b/lib/src/screens/subaddress/address_edit_or_create_page.dart index dac9e3881..b7394182c 100644 --- a/lib/src/screens/subaddress/address_edit_or_create_page.dart +++ b/lib/src/screens/subaddress/address_edit_or_create_page.dart @@ -17,8 +17,6 @@ class AddressEditOrCreatePage extends BasePage { _labelController.addListener( () => addressEditOrCreateViewModel.label = _labelController.text); _labelController.text = addressEditOrCreateViewModel.label; - print(_labelController.text); - print(addressEditOrCreateViewModel.label); } final WalletAddressEditOrCreateViewModel addressEditOrCreateViewModel; diff --git a/lib/view_model/wallet_address_list/wallet_address_edit_or_create_view_model.dart b/lib/view_model/wallet_address_list/wallet_address_edit_or_create_view_model.dart index 43db6099f..a4eb3d386 100644 --- a/lib/view_model/wallet_address_list/wallet_address_edit_or_create_view_model.dart +++ b/lib/view_model/wallet_address_list/wallet_address_edit_or_create_view_model.dart @@ -1,3 +1,4 @@ +import 'package:cake_wallet/view_model/wallet_address_list/wallet_address_list_item.dart'; import 'package:mobx/mobx.dart'; import 'package:flutter/foundation.dart'; import 'package:cw_core/wallet_base.dart'; @@ -27,10 +28,10 @@ class AddressEditOrCreateStateFailure extends AddressEditOrCreateState { abstract class WalletAddressEditOrCreateViewModelBase with Store { WalletAddressEditOrCreateViewModelBase( - {required WalletBase wallet, dynamic item}) + {required WalletBase wallet, WalletAddressListItem? item}) : isEdit = item != null, state = AddressEditOrCreateStateInitial(), - label = item?.fullName as String? ?? '', + label = item?.name ?? '', _item = item, _wallet = wallet; @@ -42,7 +43,7 @@ abstract class WalletAddressEditOrCreateViewModelBase with Store { bool isEdit; - final dynamic _item; + final WalletAddressListItem? _item; final WalletBase _wallet; Future save() async { @@ -98,27 +99,20 @@ abstract class WalletAddressEditOrCreateViewModelBase with Store { await wallet.walletAddresses.updateAddress(_item.address as String); await wallet.save(); }*/ - - if (wallet.type == WalletType.monero) { - await monero - !.getSubaddressList(wallet) - .setLabelSubaddress( - wallet, - accountIndex: monero!.getCurrentAccount(wallet).id, - addressIndex: _item.id as int, - label: label); - await wallet.save(); - } - - if (wallet.type == WalletType.haven) { - await haven - !.getSubaddressList(wallet) - .setLabelSubaddress( - wallet, - accountIndex: haven!.getCurrentAccount(wallet).id, - addressIndex: _item.id as int, - label: label); - await wallet.save(); + final index = _item?.id; + if (index != null) { + if (wallet.type == WalletType.monero) { + await monero!.getSubaddressList(wallet).setLabelSubaddress(wallet, + accountIndex: monero!.getCurrentAccount(wallet).id, addressIndex: index, label: label); + await wallet.save(); + } + if (wallet.type == WalletType.haven) { + await haven!.getSubaddressList(wallet).setLabelSubaddress(wallet, + accountIndex: haven!.getCurrentAccount(wallet).id, + addressIndex: index, + label: label); + await wallet.save(); + } } } }