mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2024-12-23 12:09:43 +00:00
6ae0f37b9c
* fix: AuthService keychain bug fix * fix: Fetch read implementation * fix: Simplify logic for retries * Minor enhancement --------- Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
27 lines
864 B
Dart
27 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;
|
|
}
|