This commit is contained in:
M
2020-09-28 18:47:43 +03:00
parent 51cf11127c
commit e3678d2cf9
32 changed files with 482 additions and 904 deletions
-4
View File
@@ -4,7 +4,6 @@ import 'package:cake_wallet/store/wallet_list_store.dart';
import 'package:cake_wallet/store/authentication_store.dart';
import 'package:cake_wallet/store/settings_store.dart';
import 'package:cake_wallet/store/node_list_store.dart';
import 'package:cake_wallet/store/contact_list_store.dart';
part 'app_store.g.dart';
@@ -15,7 +14,6 @@ abstract class AppStoreBase with Store {
{this.authenticationStore,
this.walletList,
this.settingsStore,
this.contactListStore,
this.nodeListStore});
AuthenticationStore authenticationStore;
@@ -27,7 +25,5 @@ abstract class AppStoreBase with Store {
SettingsStore settingsStore;
ContactListStore contactListStore;
NodeListStore nodeListStore;
}
-12
View File
@@ -1,12 +0,0 @@
import 'package:mobx/mobx.dart';
import 'package:cake_wallet/entities/contact_record.dart';
part 'contact_list_store.g.dart';
class ContactListStore = ContactListStoreBase with _$ContactListStore;
abstract class ContactListStoreBase with Store {
ContactListStoreBase() : contacts = ObservableList<ContactRecord>();
final ObservableList<ContactRecord> contacts;
}
+15 -9
View File
@@ -1,5 +1,7 @@
import 'package:cake_wallet/entities/preferences_key.dart';
import 'package:cake_wallet/themes.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:hive/hive.dart';
import 'package:mobx/mobx.dart';
import 'package:package_info/package_info.dart';
@@ -7,7 +9,7 @@ import 'package:devicelocale/devicelocale.dart';
import 'package:cake_wallet/di.dart';
import 'package:cake_wallet/entities/wallet_type.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:cake_wallet/entities/language.dart';
import 'package:cake_wallet/entities/language_service.dart';
import 'package:cake_wallet/entities/balance_display_mode.dart';
import 'package:cake_wallet/entities/fiat_currency.dart';
import 'package:cake_wallet/entities/node.dart';
@@ -29,7 +31,7 @@ abstract class SettingsStoreBase with Store {
@required bool initialDarkTheme,
@required int initialPinLength,
@required String initialLanguageCode,
@required String initialCurrentLocale,
// @required String initialCurrentLocale,
@required this.appVersion,
@required Map<WalletType, Node> nodes,
this.actionlistDisplayMode}) {
@@ -41,7 +43,6 @@ abstract class SettingsStoreBase with Store {
isDarkTheme = initialDarkTheme;
pinCodeLength = initialPinLength;
languageCode = initialLanguageCode;
currentLocale = initialCurrentLocale;
currentNode = nodes[WalletType.monero];
this.nodes = ObservableMap<WalletType, Node>.of(nodes);
_sharedPreferences = sharedPreferences;
@@ -59,6 +60,10 @@ abstract class SettingsStoreBase with Store {
reaction((_) => currentNode,
(Node node) => _saveCurrentNode(node, WalletType.monero));
reaction((_) => languageCode,
(String languageCode) => sharedPreferences.setString(
PreferencesKey.currentLanguageCode, languageCode));
}
static const defaultPinLength = 4;
@@ -91,9 +96,11 @@ abstract class SettingsStoreBase with Store {
@observable
Node currentNode;
String languageCode;
@computed
ThemeData get theme => isDarkTheme ? Themes.darkTheme : Themes.lightTheme;
String currentLocale;
@observable
String languageCode;
String appVersion;
@@ -135,8 +142,7 @@ abstract class SettingsStoreBase with Store {
defaultPinLength;
final savedLanguageCode =
sharedPreferences.getString(PreferencesKey.currentLanguageCode) ??
await Language.localeDetection();
final initialCurrentLocale = await Devicelocale.currentLocale;
await LanguageService.localeDetection();
final nodeId = sharedPreferences.getInt(PreferencesKey.currentNodeIdKey);
final bitcoinElectrumServerId = sharedPreferences
.getInt(PreferencesKey.currentBitcoinElectrumSererIdKey);
@@ -159,8 +165,8 @@ abstract class SettingsStoreBase with Store {
initialDarkTheme: savedDarkTheme,
actionlistDisplayMode: actionListDisplayMode,
initialPinLength: pinLength,
initialLanguageCode: savedLanguageCode,
initialCurrentLocale: initialCurrentLocale);
initialLanguageCode: savedLanguageCode
);
}
Future<void> _saveCurrentNode(Node node, WalletType walletType) async {
-13
View File
@@ -1,13 +0,0 @@
import 'package:cake_wallet/theme_changer.dart';
import 'package:mobx/mobx.dart';
part 'theme_changer_store.g.dart';
class ThemeChangerStore = ThemeChangerStoreBase with _$ThemeChangerStore;
abstract class ThemeChangerStoreBase with Store {
ThemeChangerStoreBase({this.themeChanger});
@observable
ThemeChanger themeChanger;
}