feat(mobile): Auto switching server URLs (#14437)

This commit is contained in:
Alex
2024-12-05 09:11:48 -06:00
committed by GitHub
parent 3c38851d50
commit 055f1fc72f
38 changed files with 1828 additions and 108 deletions
+47
View File
@@ -0,0 +1,47 @@
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/interfaces/network.interface.dart';
import 'package:immich_mobile/repositories/network.repository.dart';
import 'package:immich_mobile/repositories/permission.repository.dart';
final networkServiceProvider = Provider((ref) {
return NetworkService(
ref.watch(networkRepositoryProvider),
ref.watch(permissionRepositoryProvider),
);
});
class NetworkService {
final INetworkRepository _repository;
final IPermissionRepository _permissionRepository;
NetworkService(this._repository, this._permissionRepository);
Future<bool> getLocationWhenInUserPermission() {
return _permissionRepository.hasLocationWhenInUsePermission();
}
Future<bool> requestLocationWhenInUsePermission() {
return _permissionRepository.requestLocationWhenInUsePermission();
}
Future<bool> getLocationAlwaysPermission() {
return _permissionRepository.hasLocationAlwaysPermission();
}
Future<bool> requestLocationAlwaysPermission() {
return _permissionRepository.requestLocationAlwaysPermission();
}
Future<String?> getWifiName() async {
final canRead = await getLocationWhenInUserPermission();
if (!canRead) {
return null;
}
return await _repository.getWifiName();
}
Future<bool> openSettings() {
return _permissionRepository.openSettings();
}
}