mirror of
https://github.com/immich-app/immich.git
synced 2026-02-28 17:49:05 +03:00
feat(mobile): Auto switching server URLs (#14437)
This commit is contained in:
37
mobile/lib/repositories/network.repository.dart
Normal file
37
mobile/lib/repositories/network.repository.dart
Normal file
@@ -0,0 +1,37 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:immich_mobile/interfaces/network.interface.dart';
|
||||
import 'package:network_info_plus/network_info_plus.dart';
|
||||
|
||||
final networkRepositoryProvider = Provider((_) {
|
||||
final networkInfo = NetworkInfo();
|
||||
|
||||
return NetworkRepository(networkInfo);
|
||||
});
|
||||
|
||||
class NetworkRepository implements INetworkRepository {
|
||||
final NetworkInfo _networkInfo;
|
||||
|
||||
NetworkRepository(this._networkInfo);
|
||||
|
||||
@override
|
||||
Future<String?> getWifiName() {
|
||||
if (Platform.isAndroid) {
|
||||
// remove quote around the return value on Android
|
||||
// https://github.com/fluttercommunity/plus_plugins/tree/main/packages/network_info_plus/network_info_plus#android
|
||||
return _networkInfo.getWifiName().then((value) {
|
||||
if (value != null) {
|
||||
return value.replaceAll(RegExp(r'"'), '');
|
||||
}
|
||||
return value;
|
||||
});
|
||||
}
|
||||
return _networkInfo.getWifiName();
|
||||
}
|
||||
|
||||
@override
|
||||
Future<String?> getWifiIp() {
|
||||
return _networkInfo.getWifiIP();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user