mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-17 05:41:29 +02:00
* Implement background sync for xmr using flutter_daemon * - initialize app config in background thread - initializeAppConfigs without loading the wallet. * - properly do awaited calls in methodChannel - prevent locking main thread during background sync * add back background sync debug page fix issues caused by xmr wallet being view only (and read only) * changes from review improve starting of bgsync task * update stopBackgroundSync, await listener functions, ensure that listener always start (call _start in constructor) * DO-NOT-MERGE: extre verbose monero logs * stop background service when app is being opened * improve monitoring of background sync * update flutter_daemon to ensure network constraint prevent throwing errors on isBackgroundSyncEnabled check network before syncing * Update lib/main.dart * revert Update main.dart [skip ci] * continously run network check * disable charging requirement, fix status reporting of background sync in UI * Refactor background sync logic, and add UI notifications for battery optimization. Updated flutter_daemon version modified build.gradle for signing config to allow testing in both release and debug modes. * verbose monero only when requested in code. Do not start background sync when battery optimization is on * fix background sync mode not properly reflecting state changes * drop unnecessary dependency --------- Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
39 lines
1.8 KiB
Dart
39 lines
1.8 KiB
Dart
import 'dart:async';
|
|
import 'package:cake_wallet/reactions/fiat_rate_update.dart';
|
|
import 'package:cake_wallet/reactions/on_current_fiat_api_mode_change.dart';
|
|
import 'package:cake_wallet/reactions/on_current_node_change.dart';
|
|
import 'package:flutter/cupertino.dart';
|
|
import 'package:flutter/widgets.dart';
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
import 'package:cake_wallet/di.dart';
|
|
import 'package:cake_wallet/entities/preferences_key.dart';
|
|
import 'package:cake_wallet/reactions/on_authentication_state_change.dart';
|
|
import 'package:cake_wallet/reactions/on_current_fiat_change.dart';
|
|
import 'package:cake_wallet/reactions/on_current_wallet_change.dart';
|
|
import 'package:cake_wallet/store/app_store.dart';
|
|
import 'package:cake_wallet/store/settings_store.dart';
|
|
import 'package:cake_wallet/store/authentication_store.dart';
|
|
import 'package:cake_wallet/store/dashboard/fiat_conversion_store.dart';
|
|
|
|
Future<void> bootstrap(GlobalKey<NavigatorState> navigatorKey, {required bool loadWallet}) async {
|
|
final appStore = getIt.get<AppStore>();
|
|
final authenticationStore = getIt.get<AuthenticationStore>();
|
|
final settingsStore = getIt.get<SettingsStore>();
|
|
final fiatConversionStore = getIt.get<FiatConversionStore>();
|
|
|
|
final currentWalletName =
|
|
getIt.get<SharedPreferences>().getString(PreferencesKey.currentWalletName);
|
|
if (currentWalletName != null) {
|
|
authenticationStore.installed();
|
|
}
|
|
|
|
if (loadWallet) {
|
|
startAuthenticationStateChange(authenticationStore, navigatorKey);
|
|
}
|
|
startCurrentWalletChangeReaction(appStore, settingsStore, fiatConversionStore);
|
|
startCurrentFiatChangeReaction(appStore, settingsStore, fiatConversionStore);
|
|
startCurrentFiatApiModeChangeReaction(appStore, settingsStore, fiatConversionStore);
|
|
startOnCurrentNodeChangeReaction(appStore);
|
|
startFiatRateUpdate(appStore, settingsStore, fiatConversionStore);
|
|
}
|