Merge pull request #733 from cake-tech/CW-296-Edit-sub-address-grey-screen

CW-296 fix editing label subaddresses
This commit is contained in:
Omar Hatem 2023-01-26 19:35:06 +02:00 committed by GitHub
commit 194902d8cb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 21 additions and 28 deletions

View file

@ -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<WalletAddressListViewModel>(),
walletViewModel: getIt.get<DashboardViewModel>()));
getIt.registerFactoryParam<WalletAddressEditOrCreateViewModel, dynamic, void>(
(dynamic item, _) => WalletAddressEditOrCreateViewModel(
getIt.registerFactoryParam<WalletAddressEditOrCreateViewModel, WalletAddressListItem?, void>(
(WalletAddressListItem? item, _) => WalletAddressEditOrCreateViewModel(
wallet: getIt.get<AppStore>().wallet!, item: item));
getIt.registerFactoryParam<AddressEditOrCreatePage, dynamic, void>(

View file

@ -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;

View file

@ -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<void> 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();
}
}
}
}