mirror of
https://github.com/Myzel394/quid_faciam_hodie.git
synced 2025-06-18 15:25:27 +02:00
55 lines
1.5 KiB
Dart
55 lines
1.5 KiB
Dart
import 'package:camera/camera.dart';
|
|
import 'package:flutter/foundation.dart';
|
|
import 'package:permission_handler/permission_handler.dart';
|
|
import 'package:quid_faciam_hodie/constants/apis.dart';
|
|
import 'package:supabase_flutter/supabase_flutter.dart';
|
|
|
|
class GlobalValuesManager {
|
|
static Future? _serverInitializationFuture;
|
|
static bool _isServerInitialized = false;
|
|
static List<CameraDescription> _cameras = [];
|
|
|
|
static List<CameraDescription> get cameras => [..._cameras];
|
|
static bool get isServerInitialized => _isServerInitialized;
|
|
|
|
static void setCameras(List<CameraDescription> cameras) {
|
|
if (_cameras.isNotEmpty) {
|
|
return;
|
|
}
|
|
|
|
_cameras = cameras;
|
|
}
|
|
|
|
static void initializeServer() {
|
|
if (_isServerInitialized || _serverInitializationFuture != null) {
|
|
return;
|
|
}
|
|
|
|
_serverInitializationFuture = Supabase.initialize(
|
|
url: SUPABASE_API_URL,
|
|
anonKey: SUPABASE_API_KEY,
|
|
debug: kDebugMode,
|
|
)..then((_) {
|
|
_isServerInitialized = true;
|
|
_serverInitializationFuture = null;
|
|
});
|
|
}
|
|
|
|
static Future<void> waitForServerInitialization() async {
|
|
if (_serverInitializationFuture == null) {
|
|
if (_isServerInitialized) {
|
|
return;
|
|
} else {
|
|
throw Exception('Server has not been initialized yet');
|
|
}
|
|
}
|
|
|
|
await _serverInitializationFuture;
|
|
}
|
|
|
|
static Future<bool> hasGrantedPermissions() async =>
|
|
(await Permission.camera.isGranted) &&
|
|
(await Permission.microphone.isGranted) &&
|
|
(await Permission.location.isGranted);
|
|
}
|