* 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>
* feat: Disable battery optimization on android
* fix: Add permission to androidmanifestbase file
* Increase the frequency of app running in background on aggressive mode
* Revert the sync mode frequency [skip ci]
* Fix translation
* increase frequency to 1 hour
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* Run Monero Synchronization task in background on Android
* Add monero sync task in the load function to be registered/cancelled when user changes wallets
* Revert unused file changes
* Register Sync task on all monero wallets if any
* Add Sync Modes and change task frequency based on user's choice
* Register background task after current wallet is set
* Add Sync All toggle and change task wallets to sync accordingly
* Enable background notifications in release mode temporarily
* Disable constraints and increase the frequency of tasks
* Decrease frequency of background tasks
* Delay the background task thread till the syncing thread finish (Dummy Trial-1)
* Start Sync process and wait for it to finish
* Wait for synchronization to finish before ending the background thread
Add 10 minutes timeout duration for sync process
* Connect to node before syncing wallet
* replace testing configuration with the configurations agreed on
* Fix Conflicts with main
* Update and Migrate Background tasks to null safety
* Update workmanager version in pubspec_base also
* Move Sync options to Connection and sync page
Show Sync options only for Monero and Haven
Minor Enhancements
* Remove debugging notifications
Revert aggressive mode frequency to 6 hours [skip ci]
* Add iOS configs
* Revert debugging changes
Fix conflicts with main
* Add/Extract Sync configurations to/from backup file [skip ci]