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
3 changed files with 21 additions and 28 deletions
@@ -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();
}
}
}
}