Skip to content

Commit fcf2f57

Browse files
authored
Merge pull request #19 from cypherstack/staging
Delay saves (store) on Android
2 parents 17b23b5 + feaac25 commit fcf2f57

13 files changed

Lines changed: 1905 additions & 173 deletions

File tree

cw_monero/ios/Classes/monero_api.cpp

Lines changed: 72 additions & 64 deletions
Large diffs are not rendered by default.

cw_monero/ios/Classes/monero_api_win.cpp

Lines changed: 816 additions & 0 deletions
Large diffs are not rendered by default.

cw_monero/lib/api/monero_api.dart

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,11 @@ DynamicLibrary get moneroApi {
1717
// DynamicLibrary.open(
1818
// 'scripts/linux/build/libsecret/_build/libsecret/libsecret-1.so.0.0.0');
1919

20-
return DynamicLibrary.open(
21-
'crypto_plugins/flutter_libmonero/scripts/linux/build/libcw_monero.so');
20+
return Platform.isWindows
21+
? DynamicLibrary.open("libcw_monero.dll")
22+
: Platform.isAndroid || Platform.isLinux
23+
? DynamicLibrary.open('crypto_plugins/flutter_libmonero/scripts/linux/build/libcw_monero.so')
24+
: DynamicLibrary.open("cw_monero.framework/cw_monero");
2225
}
2326
return Platform.isWindows
2427
? DynamicLibrary.open("libcw_monero.dll")

cw_monero/lib/api/wallet.dart

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import 'dart:async';
22
import 'dart:ffi';
3+
import 'dart:io';
34

45
import 'package:cw_monero/api/convert_utf8_to_string.dart';
56
import 'package:cw_monero/api/exceptions/setup_wallet_exception.dart';
@@ -358,23 +359,26 @@ int storeTime = 0;
358359
bool priorityInQueue = false;
359360

360361
Future<bool> store({bool prioritySave = false}) async {
361-
// if (priorityInQueue) {
362-
// return false;
363-
// }
364-
// print(
365-
// "${DateTime.now().millisecondsSinceEpoch} $prioritySave $priorityInQueue");
366-
// if (DateTime.now().millisecondsSinceEpoch < storeTime + 90000 &&
367-
// prioritySave) {
368-
// priorityInQueue = true;
369-
// await Future.delayed(Duration(seconds: 1));
370-
// priorityInQueue = false;
371-
// return store(prioritySave: prioritySave);
372-
// } else if (DateTime.now().millisecondsSinceEpoch < storeTime + 90000 &&
373-
// !prioritySave) {
374-
// return false;
375-
// }
376-
// print("released $storeTime");
377-
// storeTime = DateTime.now().millisecondsSinceEpoch;
362+
// Delay saves
363+
if (Platform.isAndroid) {
364+
if (priorityInQueue) {
365+
return false;
366+
}
367+
print(
368+
"${DateTime.now().millisecondsSinceEpoch} $prioritySave $priorityInQueue");
369+
if (DateTime.now().millisecondsSinceEpoch < storeTime + 90000 &&
370+
prioritySave) {
371+
priorityInQueue = true;
372+
await Future.delayed(Duration(seconds: 1));
373+
priorityInQueue = false;
374+
return store(prioritySave: prioritySave);
375+
} else if (DateTime.now().millisecondsSinceEpoch < storeTime + 90000 &&
376+
!prioritySave) {
377+
return false;
378+
}
379+
print("released $storeTime");
380+
storeTime = DateTime.now().millisecondsSinceEpoch;
381+
}
378382
await compute<int, void>(_storeSync, 0);
379383
return true;
380384
}

0 commit comments

Comments
 (0)