TF-2928 Use default browser confirm dialog when token expired

This commit is contained in:
dab246
2024-07-16 16:16:16 +07:00
committed by Dat H. Pham
parent 103dc9c5e3
commit 1fc3b76f94
15 changed files with 192 additions and 141 deletions
@@ -0,0 +1,24 @@
import 'package:core/utils/app_logger.dart';
typedef BeforeReconnectListener = Future<void> Function();
class BeforeReconnectManager {
static final BeforeReconnectManager _instance = BeforeReconnectManager._();
factory BeforeReconnectManager() => _instance;
BeforeReconnectManager._();
final _listeners = <BeforeReconnectListener>[];
void addListener(BeforeReconnectListener listener) {
_listeners.add(listener);
}
void removeListener(BeforeReconnectListener listener) {
_listeners.remove(listener);
}
Future<void> executeBeforeReconnectListeners() async {
await Future.wait(_listeners.map((listener) => listener.call()))
.onError((error, stackTrace) => [logError(error.toString())]);
}
}