Cw 658 make the addressbook popup can be turned off from the settings (#1856)
* make ‘Add to Addressbook’ popup optional in settings * localisation * fix contacts page background color
Serhii committed
Dec 9, 2024 at 22:37 UTC
03ff2287dbb42ef4092ceaa43f5dc087f05b2d7f
35 files changed
+67
-4
lib/entities/preferences_key.dart
+1
@@ -91,6 +91,7 @@ class PreferencesKey {
91
static const donationLinkWalletName = 'donation_link_wallet_name';
92
static const lastSeenAppVersion = 'last_seen_app_version';
93
static const shouldShowMarketPlaceInDashboard = 'should_show_marketplace_in_dashboard';
94
+ static const showAddressBookPopupEnabled = 'show_address_book_popup_enabled';
95
static const isNewInstall = 'is_new_install';
96
static const serviceStatusShaKey = 'service_status_sha_key';
97
static const walletConnectPairingTopicsList = 'wallet_connect_pairing_topics_list';
lib/src/screens/contact/contact_list_page.dart
+1
@@ -322,6 +322,7 @@ class _ContactListBodyState extends State<ContactListBody> {
322
? widget.contactListViewModel.contacts
323
: widget.contactListViewModel.contactsToShow;
324
return Scaffold(
325
+ backgroundColor: Theme.of(context).colorScheme.background,
326
body: Container(
327
child: FilteredList(
328
list: contacts,
lib/src/screens/send/send_page.dart
+2
-2
@@ -525,14 +525,14 @@ class SendPage extends BasePage {
525
? '. ${S.of(_dialogContext).waitFewSecondForTxUpdate}'
526
: '';
527
528
- final newContactMessage = newContactAddress != null
528
+ final newContactMessage = newContactAddress != null && sendViewModel.showAddressBookPopup
529
? '\n${S.of(_dialogContext).add_contact_to_address_book}'
530
: '';
531
532
String alertContent =
533
"$successMessage$waitMessage$newContactMessage";
534
535
- if (newContactAddress != null) {
535
+ if (newContactMessage.isNotEmpty) {
536
return AlertWithTwoActions(
537
alertDialogKey: ValueKey('send_page_sent_dialog_key'),
538
alertTitle: '',
lib/src/screens/settings/other_settings_page.dart
+8
@@ -6,6 +6,7 @@ import 'package:cake_wallet/src/screens/base_page.dart';
6
import 'package:cake_wallet/src/screens/settings/widgets/setting_priority_picker_cell.dart';
7
import 'package:cake_wallet/src/screens/settings/widgets/settings_cell_with_arrow.dart';
8
import 'package:cake_wallet/src/screens/settings/widgets/settings_picker_cell.dart';
9
+import 'package:cake_wallet/src/screens/settings/widgets/settings_switcher_cell.dart';
10
import 'package:cake_wallet/src/screens/settings/widgets/settings_version_cell.dart';
11
import 'package:cake_wallet/view_model/settings/other_settings_view_model.dart';
12
import 'package:cw_core/wallet_type.dart';
@@ -62,6 +63,13 @@ class OtherSettingsPage extends BasePage {
63
handler: (BuildContext context) =>
64
Navigator.of(context).pushNamed(Routes.readDisclaimer),
65
),
66
+ SettingsSwitcherCell(
67
+ title: S.of(context).show_address_book_popup,
68
+ value: _otherSettingsViewModel.showAddressBookPopup,
69
+ onValueChange: (_, bool value) {
70
+ _otherSettingsViewModel.setShowAddressBookPopup(value);
71
+ },
72
+ ),
73
Spacer(),
74
SettingsVersionCell(
75
title: S.of(context).version(_otherSettingsViewModel.currentVersion)),
lib/store/settings_store.dart
+16
@@ -54,6 +54,7 @@ abstract class SettingsStoreBase with Store {
54
required BackgroundTasks backgroundTasks,
55
required SharedPreferences sharedPreferences,
56
required bool initialShouldShowMarketPlaceInDashboard,
57
+ required bool initialShowAddressBookPopupEnabled,
58
required FiatCurrency initialFiatCurrency,
59
required BalanceDisplayMode initialBalanceDisplayMode,
60
required bool initialSaveRecipientAddress,
@@ -157,6 +158,7 @@ abstract class SettingsStoreBase with Store {
158
walletListAscending = initialWalletListAscending,
159
contactListAscending = initialContactListAscending,
160
shouldShowMarketPlaceInDashboard = initialShouldShowMarketPlaceInDashboard,
161
+ showAddressBookPopupEnabled = initialShowAddressBookPopupEnabled,
162
exchangeStatus = initialExchangeStatus,
163
currentTheme = initialTheme,
164
pinCodeLength = initialPinLength,
@@ -354,6 +356,11 @@ abstract class SettingsStoreBase with Store {
356
(bool value) =>
357
sharedPreferences.setBool(PreferencesKey.shouldShowMarketPlaceInDashboard, value));
358
359
+ reaction(
360
+ (_) => showAddressBookPopupEnabled,
361
+ (bool value) =>
362
+ sharedPreferences.setBool(PreferencesKey.showAddressBookPopupEnabled, value));
363
+
364
reaction((_) => pinCodeLength,
365
(int pinLength) => sharedPreferences.setInt(PreferencesKey.currentPinLength, pinLength));
366
@@ -606,6 +613,9 @@ abstract class SettingsStoreBase with Store {
613
@observable
614
bool shouldShowMarketPlaceInDashboard;
615
616
+ @observable
617
+ bool showAddressBookPopupEnabled;
618
+
619
@observable
620
ObservableList<ActionListDisplayMode> actionlistDisplayMode;
621
@@ -917,6 +927,8 @@ abstract class SettingsStoreBase with Store {
927
final tokenTrialNumber = sharedPreferences.getInt(PreferencesKey.failedTotpTokenTrials) ?? 0;
928
final shouldShowMarketPlaceInDashboard =
929
sharedPreferences.getBool(PreferencesKey.shouldShowMarketPlaceInDashboard) ?? true;
930
+ final showAddressBookPopupEnabled =
931
+ sharedPreferences.getBool(PreferencesKey.showAddressBookPopupEnabled) ?? true;
932
final exchangeStatus = ExchangeApiMode.deserialize(
933
raw: sharedPreferences.getInt(PreferencesKey.exchangeStatusKey) ??
934
ExchangeApiMode.enabled.raw);
@@ -1185,6 +1197,7 @@ abstract class SettingsStoreBase with Store {
1197
secureStorage: secureStorage,
1198
sharedPreferences: sharedPreferences,
1199
initialShouldShowMarketPlaceInDashboard: shouldShowMarketPlaceInDashboard,
1200
+ initialShowAddressBookPopupEnabled: showAddressBookPopupEnabled,
1201
nodes: nodes,
1202
powNodes: powNodes,
1203
appVersion: packageInfo.version,
@@ -1361,6 +1374,9 @@ abstract class SettingsStoreBase with Store {
1374
shouldShowMarketPlaceInDashboard =
1375
sharedPreferences.getBool(PreferencesKey.shouldShowMarketPlaceInDashboard) ??
1376
shouldShowMarketPlaceInDashboard;
1377
+ showAddressBookPopupEnabled =
1378
+ sharedPreferences.getBool(PreferencesKey.showAddressBookPopupEnabled) ??
1379
+ showAddressBookPopupEnabled;
1380
exchangeStatus = ExchangeApiMode.deserialize(
1381
raw: sharedPreferences.getInt(PreferencesKey.exchangeStatusKey) ??
1382
ExchangeApiMode.enabled.raw);
lib/view_model/send/send_view_model.dart
+2
@@ -109,6 +109,8 @@ abstract class SendViewModelBase extends WalletChangeListenerViewModel with Stor
109
110
final UnspentCoinType coinTypeToSpendFrom;
111
112
+ bool get showAddressBookPopup => _settingsStore.showAddressBookPopupEnabled;
113
+
114
@action
115
void addOutput() {
116
outputs
lib/view_model/settings/other_settings_view_model.dart
+7
@@ -60,6 +60,10 @@ abstract class OtherSettingsViewModelBase with Store {
60
bool get changeRepresentativeEnabled =>
61
_wallet.type == WalletType.nano || _wallet.type == WalletType.banano;
62
63
+ @computed
64
+ bool get showAddressBookPopup => _settingsStore.showAddressBookPopupEnabled;
65
+
66
+
67
@computed
68
bool get displayTransactionPriority => !(changeRepresentativeEnabled ||
69
_wallet.type == WalletType.solana ||
@@ -114,6 +118,9 @@ abstract class OtherSettingsViewModelBase with Store {
118
return customItem != null ? priorities.indexOf(customItem) : null;
119
}
120
121
+ @action
122
+ void setShowAddressBookPopup(bool value) => _settingsStore.showAddressBookPopupEnabled = value;
123
+
124
int? get maxCustomFeeRate {
125
if (_wallet.type == WalletType.bitcoin) {
126
return bitcoin!.getMaxCustomFeeRate(_wallet);
res/values/strings_ar.arb
+1
@@ -710,6 +710,7 @@
710
"share_address": "شارك العنوان",
711
"shared_seed_wallet_groups": "مجموعات محفظة البذور المشتركة",
712
"show": "يعرض",
713
+ "show_address_book_popup": "عرض \"إضافة إلى كتاب العناوين\" المنبثقة بعد الإرسال",
714
"show_details": "اظهر التفاصيل",
715
"show_keys": "اظهار السييد / المفاتيح",
716
"show_market_place": "إظهار السوق",
res/values/strings_bg.arb
+1
@@ -710,6 +710,7 @@
710
"share_address": "Сподели адрес",
711
"shared_seed_wallet_groups": "Споделени групи за портфейли за семена",
712
"show": "Показване",
713
+ "show_address_book_popup": "Показване на изскачането на „Добавяне към адресната книга“ след изпращане",
714
"show_details": "Показване на подробностите",
715
"show_keys": "Покажи seed/keys",
716
"show_market_place": "Покажи пазар",
res/values/strings_cs.arb
+1
@@ -710,6 +710,7 @@
710
"share_address": "Sdílet adresu",
711
"shared_seed_wallet_groups": "Skupiny sdílených semen",
712
"show": "Show",
713
+ "show_address_book_popup": "Po odeslání zobrazíte vyskakovací okno „Přidat do adresáře“",
714
"show_details": "Zobrazit detaily",
715
"show_keys": "Zobrazit seed/klíče",
716
"show_market_place": "Zobrazit trh",
res/values/strings_de.arb
+2
-1
@@ -498,8 +498,8 @@
498
"placeholder_transactions": "Ihre Transaktionen werden hier angezeigt",
499
"please_fill_totp": "Bitte geben Sie den 8-stelligen Code ein, der auf Ihrem anderen Gerät vorhanden ist",
500
"please_make_selection": "Bitte treffen Sie unten eine Auswahl zum Erstellen oder Wiederherstellen Ihrer Wallet.",
501
- "please_reference_document": "Bitte verweisen Sie auf die folgenden Dokumente, um weitere Informationen zu erhalten.",
501
"Please_reference_document": "Weitere Informationen finden Sie in den Dokumenten unten.",
502
+ "please_reference_document": "Bitte verweisen Sie auf die folgenden Dokumente, um weitere Informationen zu erhalten.",
503
"please_select": "Bitte auswählen:",
504
"please_select_backup_file": "Bitte wählen Sie die Sicherungsdatei und geben Sie das Sicherungskennwort ein.",
505
"please_try_to_connect_to_another_node": "Bitte versuchen Sie, sich mit einem anderen Knoten zu verbinden",
@@ -711,6 +711,7 @@
711
"share_address": "Adresse teilen ",
712
"shared_seed_wallet_groups": "Gemeinsame Walletsseed Gruppen",
713
"show": "Zeigen",
714
+ "show_address_book_popup": "Popup \"zum Adressbuch hinzufügen\" nach dem Senden anzeigen",
715
"show_details": "Details anzeigen",
716
"show_keys": "Seed/Schlüssel anzeigen",
717
"show_market_place": "Marktplatz anzeigen",
res/values/strings_en.arb
+1
@@ -710,6 +710,7 @@
710
"share_address": "Share address",
711
"shared_seed_wallet_groups": "Shared Seed Wallet Groups",
712
"show": "Show",
713
+ "show_address_book_popup": "Show 'Add to Address Book' popup after sending",
714
"show_details": "Show Details",
715
"show_keys": "Show seed/keys",
716
"show_market_place": "Show Marketplace",
res/values/strings_es.arb
+1
@@ -711,6 +711,7 @@
711
"share_address": "Compartir dirección",
712
"shared_seed_wallet_groups": "Grupos de billetera de semillas compartidas",
713
"show": "Espectáculo",
714
+ "show_address_book_popup": "Mostrar ventana emergente 'Agregar a la libreta de direcciones' después de enviar",
715
"show_details": "Mostrar detalles",
716
"show_keys": "Mostrar semilla/claves",
717
"show_market_place": "Mostrar mercado",
res/values/strings_fr.arb
+1
@@ -710,6 +710,7 @@
710
"share_address": "Partager l'adresse",
711
"shared_seed_wallet_groups": "Groupes de portefeuilles partagés",
712
"show": "Montrer",
713
+ "show_address_book_popup": "Afficher la popup `` Ajouter au carnet d'adresses '' après avoir envoyé",
714
"show_details": "Afficher les détails",
715
"show_keys": "Visualiser la phrase secrète (seed) et les clefs",
716
"show_market_place": "Afficher la place de marché",
res/values/strings_ha.arb
+1
@@ -712,6 +712,7 @@
712
"share_address": "Raba adireshin",
713
"shared_seed_wallet_groups": "Raba ƙungiya walat",
714
"show": "Nuna",
715
+ "show_address_book_popup": "Nuna 'ƙara don magance littafin' Popup bayan aikawa",
716
"show_details": "Nuna Cikakkun bayanai",
717
"show_keys": "Nuna iri/maɓallai",
718
"show_market_place": "Nuna dan kasuwa",
res/values/strings_hi.arb
+1
@@ -712,6 +712,7 @@
712
"share_address": "पता साझा करें",
713
"shared_seed_wallet_groups": "साझा बीज बटुए समूह",
714
"show": "दिखाओ",
715
+ "show_address_book_popup": "भेजने के बाद 'एड एड्रेस बुक' पॉपअप दिखाएं",
716
"show_details": "विवरण दिखाएं",
717
"show_keys": "बीज / कुंजियाँ दिखाएँ",
718
"show_market_place": "बाज़ार दिखाएँ",
res/values/strings_hr.arb
+1
@@ -710,6 +710,7 @@
710
"share_address": "Podijeli adresu",
711
"shared_seed_wallet_groups": "Zajedničke grupe za sjeme novčanika",
712
"show": "Pokazati",
713
+ "show_address_book_popup": "Pokažite \"dodaj u adresar\" skočni prozor nakon slanja",
714
"show_details": "Prikaži pojedinosti",
715
"show_keys": "Prikaži pristupni izraz/ključ",
716
"show_market_place": "Prikaži tržište",
res/values/strings_hy.arb
+1
@@ -710,6 +710,7 @@
710
"share_address": "Կիսվել հասցեով",
711
"shared_seed_wallet_groups": "Համօգտագործված սերմերի դրամապանակների խմբեր",
712
"show": "Ցուցահանդես",
713
+ "show_address_book_popup": "Show ույց տալ «Ուղարկելուց հետո« Հասցեների գրքի »թռուցիկ",
714
"show_details": "Ցուցադրել մանրամասներ",
715
"show_keys": "Ցուցադրել բանալիներ",
716
"show_market_place": "Ցուցադրել շուկան",
res/values/strings_id.arb
+1
@@ -713,6 +713,7 @@
713
"share_address": "Bagikan alamat",
714
"shared_seed_wallet_groups": "Kelompok dompet benih bersama",
715
"show": "Menunjukkan",
716
+ "show_address_book_popup": "Tampilkan popup 'Tambahkan ke Alamat' setelah mengirim",
717
"show_details": "Tampilkan Rincian",
718
"show_keys": "Tampilkan seed/kunci",
719
"show_market_place": "Tampilkan Pasar",
res/values/strings_it.arb
+1
@@ -712,6 +712,7 @@
712
"share_address": "Condividi indirizzo",
713
"shared_seed_wallet_groups": "Gruppi di portafoglio di semi condivisi",
714
"show": "Spettacolo",
715
+ "show_address_book_popup": "Mostra il popup \"Aggiungi alla rubrica\" dopo l'invio",
716
"show_details": "Mostra dettagli",
717
"show_keys": "Mostra seme/chiavi",
718
"show_market_place": "Mostra mercato",
res/values/strings_ja.arb
+1
@@ -711,6 +711,7 @@
711
"share_address": "住所を共有する",
712
"shared_seed_wallet_groups": "共有シードウォレットグループ",
713
"show": "見せる",
714
+ "show_address_book_popup": "送信後に「アドレスブックに追加」ポップアップを表示します",
715
"show_details": "詳細を表示",
716
"show_keys": "シード/キーを表示する",
717
"show_market_place": "マーケットプレイスを表示",
res/values/strings_ko.arb
+1
@@ -711,6 +711,7 @@
711
"share_address": "주소 공유",
712
"shared_seed_wallet_groups": "공유 종자 지갑 그룹",
713
"show": "보여주다",
714
+ "show_address_book_popup": "전송 후 '주소 책에 추가'팝업을 표시하십시오",
715
"show_details": "세부정보 표시",
716
"show_keys": "시드 / 키 표시",
717
"show_market_place": "마켓플레이스 표시",
res/values/strings_my.arb
+1
@@ -710,6 +710,7 @@
710
"share_address": "လိပ်စာမျှဝေပါ။",
711
"shared_seed_wallet_groups": "shared မျိုးစေ့ပိုက်ဆံအိတ်အုပ်စုများ",
712
"show": "ပြသ",
713
+ "show_address_book_popup": "ပေးပို့ပြီးနောက် 'address book' popup ကိုပြပါ",
714
"show_details": "အသေးစိတ်ပြ",
715
"show_keys": "မျိုးစေ့ /သော့များကို ပြပါ။",
716
"show_market_place": "စျေးကွက်ကိုပြသပါ။",
res/values/strings_nl.arb
+1
@@ -710,6 +710,7 @@
710
"share_address": "Deel adres",
711
"shared_seed_wallet_groups": "Gedeelde zaadportelgroepen",
712
"show": "Show",
713
+ "show_address_book_popup": "Toon 'Toevoegen aan adresboek' pop -up na verzenden",
714
"show_details": "Toon details",
715
"show_keys": "Toon zaad/sleutels",
716
"show_market_place": "Toon Marktplaats",
res/values/strings_pl.arb
+1
@@ -710,6 +710,7 @@
710
"share_address": "Udostępnij adres",
711
"shared_seed_wallet_groups": "Wspólne grupy portfeli nasion",
712
"show": "Pokazywać",
713
+ "show_address_book_popup": "Pokaż wysypkę „Dodaj do książki” po wysłaniu",
714
"show_details": "Pokaż szczegóły",
715
"show_keys": "Pokaż seed/klucze",
716
"show_market_place": "Pokaż rynek",
res/values/strings_pt.arb
+2
-1
@@ -712,6 +712,7 @@
712
"share_address": "Compartilhar endereço",
713
"shared_seed_wallet_groups": "Grupos de carteira de sementes compartilhados",
714
"show": "Mostrar",
715
+ "show_address_book_popup": "Mostre pop -up 'Adicionar ao livro de endereços' depois de enviar",
716
"show_details": "Mostrar detalhes",
717
"show_keys": "Mostrar semente/chaves",
718
"show_market_place": "Mostrar mercado",
@@ -963,4 +964,4 @@
964
"you_will_get": "Converter para",
965
"you_will_send": "Converter de",
966
"yy": "aa"
966
-}
967
+}
\ No newline at end of file
res/values/strings_ru.arb
+1
@@ -711,6 +711,7 @@
711
"share_address": "Поделиться адресом",
712
"shared_seed_wallet_groups": "Общие группы кошелька семян",
713
"show": "Показывать",
714
+ "show_address_book_popup": "Покажите всплывающее окно «Добавить в адрес адреса» после отправки",
715
"show_details": "Показать детали",
716
"show_keys": "Показать мнемоническую фразу/ключи",
717
"show_market_place": "Показать торговую площадку",
res/values/strings_th.arb
+1
@@ -710,6 +710,7 @@
710
"share_address": "แชร์ที่อยู่",
711
"shared_seed_wallet_groups": "กลุ่มกระเป๋าเงินที่ใช้ร่วมกัน",
712
"show": "แสดง",
713
+ "show_address_book_popup": "แสดง 'เพิ่มในสมุดรายชื่อ' ป๊อปอัพหลังจากส่ง",
714
"show_details": "แสดงรายละเอียด",
715
"show_keys": "แสดงซีด/คีย์",
716
"show_market_place": "แสดงตลาดกลาง",
res/values/strings_tl.arb
+1
@@ -710,6 +710,7 @@
710
"share_address": "Ibahagi ang address",
711
"shared_seed_wallet_groups": "Ibinahaging mga pangkat ng pitaka ng binhi",
712
"show": "Ipakita",
713
+ "show_address_book_popup": "Ipakita ang popup na 'Idagdag sa Address Book' pagkatapos magpadala",
714
"show_details": "Ipakita ang mga detalye",
715
"show_keys": "Ipakita ang mga seed/key",
716
"show_market_place": "Ipakita ang Marketplace",
res/values/strings_tr.arb
+1
@@ -710,6 +710,7 @@
710
"share_address": "Adresi paylaş",
711
"shared_seed_wallet_groups": "Paylaşılan tohum cüzdan grupları",
712
"show": "Göstermek",
713
+ "show_address_book_popup": "Gönderdikten sonra 'adres defterine ekle' açılır",
714
"show_details": "Detayları Göster",
715
"show_keys": "Tohumları/anahtarları göster",
716
"show_market_place": "Pazar Yerini Göster",
res/values/strings_uk.arb
+1
@@ -711,6 +711,7 @@
711
"share_address": "Поділитися адресою",
712
"shared_seed_wallet_groups": "Спільні групи насіннєвих гаманців",
713
"show": "Показувати",
714
+ "show_address_book_popup": "Показати спливаюче вікно \"Додати до адресної книги\" після надсилання",
715
"show_details": "Показати деталі",
716
"show_keys": "Показати мнемонічну фразу/ключі",
717
"show_market_place": "Відображати маркетплейс",
res/values/strings_ur.arb
+1
@@ -712,6 +712,7 @@
712
"share_address": "پتہ شیئر کریں۔",
713
"shared_seed_wallet_groups": "مشترکہ بیج پرس گروپ",
714
"show": "دکھائیں",
715
+ "show_address_book_popup": "بھیجنے کے بعد 'ایڈریس میں شامل کریں کتاب' پاپ اپ دکھائیں",
716
"show_details": "تفصیلات دکھائیں",
717
"show_keys": "بیج / چابیاں دکھائیں۔",
718
"show_market_place": "بازار دکھائیں۔",
res/values/strings_vi.arb
+1
@@ -709,6 +709,7 @@
709
"share_address": "Chia sẻ địa chỉ",
710
"shared_seed_wallet_groups": "Nhóm ví hạt được chia sẻ",
711
"show": "Trình diễn",
712
+ "show_address_book_popup": "Hiển thị cửa sổ bật lên 'Thêm vào sổ địa chỉ' sau khi gửi",
713
"show_details": "Hiển thị chi tiết",
714
"show_keys": "Hiển thị hạt giống/khóa",
715
"show_market_place": "Hiển thị Thị trường",
res/values/strings_yo.arb
+1
@@ -711,6 +711,7 @@
711
"share_address": "Pín àdírẹ́sì",
712
"shared_seed_wallet_groups": "Awọn ẹgbẹ ti a pin irugbin",
713
"show": "Fihan",
714
+ "show_address_book_popup": "Fihan 'ṣafikun si Agbejade Iwe' Lẹhin fifiranṣẹ",
715
"show_details": "Fi ìsọfúnni kékeré hàn",
716
"show_keys": "Wo hóró / àwọn kọ́kọ́rọ́",
717
"show_market_place": "Wa Sopọ Pataki",
res/values/strings_zh.arb
+1
@@ -710,6 +710,7 @@
710
"share_address": "分享地址",
711
"shared_seed_wallet_groups": "共享种子钱包组",
712
"show": "展示",
713
+ "show_address_book_popup": "发送后显示“添加到通讯簿”弹出窗口",
714
"show_details": "显示详细信息",
715
"show_keys": "显示种子/密钥",
716
"show_market_place": "显示市场",