Hide keys for BTC & LTC (#392)

* Remove WIF and Keys from BTC and LTC wallets in the Wallet seed/keys screen * Move Title assigning logic to view model

Omar Hatem committed Jun 23, 2022 at 15:36 UTC 8bcf70b8f845734fc9c9869270d70e082f123a4d
2 files changed +18 -32
lib/src/screens/wallet_keys/wallet_keys_page.dart
+3 -8
@@ -1,5 +1,4 @@
1 import 'package:cake_wallet/utils/show_bar.dart';
2 -import 'package:flushbar/flushbar.dart';
2 import 'package:flutter/material.dart';
3 import 'package:flutter/cupertino.dart';
4 import 'package:flutter/services.dart';
@@ -13,7 +12,7 @@ class WalletKeysPage extends BasePage {
12 WalletKeysPage(this.walletKeysViewModel);
13
14 @override
16 - String get title => S.current.wallet_keys;
15 + String get title => walletKeysViewModel.title;
16
17 final WalletKeysViewModel walletKeysViewModel;
18
@@ -27,10 +26,7 @@ class WalletKeysPage extends BasePage {
26 separatorBuilder: (context, index) => Container(
27 height: 1,
28 padding: EdgeInsets.only(left: 24),
30 - color: Theme.of(context)
31 - .accentTextTheme
32 - .title
33 - .backgroundColor,
29 + color: Theme.of(context).accentTextTheme.title.backgroundColor,
30 child: Container(
31 height: 1,
32 color: Theme.of(context).dividerColor,
@@ -43,8 +39,7 @@ class WalletKeysPage extends BasePage {
39 return GestureDetector(
40 onTap: () {
41 Clipboard.setData(ClipboardData(text: item.value));
46 - showBar<void>(context,
47 - S.of(context).copied_key_to_clipboard(item.title));
42 + showBar<void>(context, S.of(context).copied_key_to_clipboard(item.title));
43 },
44 child: StandartListRow(
45 title: item.title + ':',
lib/view_model/wallet_keys_view_model.dart
+15 -24
@@ -2,7 +2,6 @@ import 'package:cw_core/wallet_type.dart';
2 import 'package:mobx/mobx.dart';
3 import 'package:cake_wallet/generated/i18n.dart';
4 import 'package:cw_core/wallet_base.dart';
5 -import 'package:cake_wallet/bitcoin/bitcoin.dart';
5 import 'package:cake_wallet/src/screens/transaction_details/standart_list_item.dart';
6 import 'package:cake_wallet/monero/monero.dart';
7 import 'package:cake_wallet/haven/haven.dart';
@@ -13,19 +12,18 @@ class WalletKeysViewModel = WalletKeysViewModelBase with _$WalletKeysViewModel;
12
13 abstract class WalletKeysViewModelBase with Store {
14 WalletKeysViewModelBase(WalletBase wallet)
16 - : items = ObservableList<StandartListItem>() {
15 + : title = wallet.type == WalletType.bitcoin || wallet.type == WalletType.litecoin
16 + ? S.current.wallet_seed
17 + : S.current.wallet_keys,
18 + items = ObservableList<StandartListItem>() {
19 if (wallet.type == WalletType.monero) {
20 final keys = monero.getKeys(wallet);
21
22 items.addAll([
21 - StandartListItem(
22 - title: S.current.spend_key_public, value: keys['publicSpendKey']),
23 - StandartListItem(
24 - title: S.current.spend_key_private, value: keys['privateSpendKey']),
25 - StandartListItem(
26 - title: S.current.view_key_public, value: keys['publicViewKey']),
27 - StandartListItem(
28 - title: S.current.view_key_private, value: keys['privateViewKey']),
23 + StandartListItem(title: S.current.spend_key_public, value: keys['publicSpendKey']),
24 + StandartListItem(title: S.current.spend_key_private, value: keys['privateSpendKey']),
25 + StandartListItem(title: S.current.view_key_public, value: keys['publicViewKey']),
26 + StandartListItem(title: S.current.view_key_private, value: keys['privateViewKey']),
27 StandartListItem(title: S.current.wallet_seed, value: wallet.seed),
28 ]);
29 }
@@ -34,29 +32,22 @@ abstract class WalletKeysViewModelBase with Store {
32 final keys = haven.getKeys(wallet);
33
34 items.addAll([
37 - StandartListItem(
38 - title: S.current.spend_key_public, value: keys['publicSpendKey']),
39 - StandartListItem(
40 - title: S.current.spend_key_private, value: keys['privateSpendKey']),
41 - StandartListItem(
42 - title: S.current.view_key_public, value: keys['publicViewKey']),
43 - StandartListItem(
44 - title: S.current.view_key_private, value: keys['privateViewKey']),
35 + StandartListItem(title: S.current.spend_key_public, value: keys['publicSpendKey']),
36 + StandartListItem(title: S.current.spend_key_private, value: keys['privateSpendKey']),
37 + StandartListItem(title: S.current.view_key_public, value: keys['publicViewKey']),
38 + StandartListItem(title: S.current.view_key_private, value: keys['privateViewKey']),
39 StandartListItem(title: S.current.wallet_seed, value: wallet.seed),
40 ]);
41 }
42
43 if (wallet.type == WalletType.bitcoin || wallet.type == WalletType.litecoin) {
50 - final keys = bitcoin.getWalletKeys(wallet);
51 -
44 items.addAll([
53 - StandartListItem(title: 'WIF', value: keys['wif']),
54 - StandartListItem(title: S.current.public_key, value: keys['publicKey']),
55 - StandartListItem(title: S.current.private_key, value: keys['privateKey']),
56 - StandartListItem(title: S.current.wallet_seed, value: wallet.seed)
45 + StandartListItem(title: S.current.wallet_seed, value: wallet.seed),
46 ]);
47 }
48 }
49
50 final ObservableList<StandartListItem> items;
51 +
52 + final String title;
53 }