mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2024-11-01 18:07:44 +00:00
28 lines
864 B
Dart
28 lines
864 B
Dart
|
import 'dart:async';
|
||
|
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
||
|
// For now, we can create a utility function to handle this.
|
||
|
//
|
||
|
// However, we could look into abstracting the entire FlutterSecureStorage package
|
||
|
// so the app doesn't depend on the package directly but an absraction.
|
||
|
// It'll make these kind of modifications to read/write come from a single point.
|
||
|
|
||
|
Future<String?> readSecureStorage(FlutterSecureStorage secureStorage, String key) async {
|
||
|
String? result;
|
||
|
const maxWait = Duration(seconds: 3);
|
||
|
const checkInterval = Duration(milliseconds: 200);
|
||
|
|
||
|
DateTime start = DateTime.now();
|
||
|
|
||
|
while (result == null && DateTime.now().difference(start) < maxWait) {
|
||
|
result = await secureStorage.read(key: key);
|
||
|
|
||
|
if (result != null) {
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
await Future.delayed(checkInterval);
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
}
|