mirror of
https://github.com/immich-app/immich
synced 2025-10-17 18:19:27 +00:00
feat(mobile): Auto switching server URLs (#14437)
This commit is contained in:
parent
3c38851d50
commit
055f1fc72f
38 changed files with 1828 additions and 108 deletions
|
|
@ -1,3 +1,4 @@
|
|||
import 'package:flutter/foundation.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:immich_mobile/providers/album/album.provider.dart';
|
||||
import 'package:immich_mobile/services/background.service.dart';
|
||||
|
|
@ -35,7 +36,7 @@ class AppLifeCycleNotifier extends StateNotifier<AppLifeCycleEnum> {
|
|||
return state;
|
||||
}
|
||||
|
||||
void handleAppResume() {
|
||||
void handleAppResume() async {
|
||||
state = AppLifeCycleEnum.resumed;
|
||||
|
||||
// no need to resume because app was never really paused
|
||||
|
|
@ -46,32 +47,49 @@ class AppLifeCycleNotifier extends StateNotifier<AppLifeCycleEnum> {
|
|||
|
||||
// Needs to be logged in
|
||||
if (isAuthenticated) {
|
||||
// switch endpoint if needed
|
||||
final endpoint =
|
||||
await _ref.read(authProvider.notifier).setOpenApiServiceEndpoint();
|
||||
if (kDebugMode) {
|
||||
debugPrint("Using server URL: $endpoint");
|
||||
}
|
||||
|
||||
final permission = _ref.watch(galleryPermissionNotifier);
|
||||
if (permission.isGranted || permission.isLimited) {
|
||||
_ref.read(backupProvider.notifier).resumeBackup();
|
||||
_ref.read(backgroundServiceProvider).resumeServiceIfEnabled();
|
||||
await _ref.read(backupProvider.notifier).resumeBackup();
|
||||
await _ref.read(backgroundServiceProvider).resumeServiceIfEnabled();
|
||||
}
|
||||
_ref.read(serverInfoProvider.notifier).getServerVersion();
|
||||
|
||||
await _ref.read(serverInfoProvider.notifier).getServerVersion();
|
||||
|
||||
switch (_ref.read(tabProvider)) {
|
||||
case TabEnum.home:
|
||||
_ref.read(assetProvider.notifier).getAllAsset();
|
||||
await _ref.read(assetProvider.notifier).getAllAsset();
|
||||
break;
|
||||
case TabEnum.search:
|
||||
// nothing to do
|
||||
// nothing to do
|
||||
break;
|
||||
|
||||
case TabEnum.albums:
|
||||
_ref.read(albumProvider.notifier).refreshRemoteAlbums();
|
||||
await _ref.read(albumProvider.notifier).refreshRemoteAlbums();
|
||||
break;
|
||||
case TabEnum.library:
|
||||
// nothing to do
|
||||
// nothing to do
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
_ref.read(websocketProvider.notifier).connect();
|
||||
|
||||
_ref
|
||||
await _ref
|
||||
.read(notificationPermissionProvider.notifier)
|
||||
.getNotificationPermission();
|
||||
_ref.read(galleryPermissionNotifier.notifier).getGalleryPermissionStatus();
|
||||
|
||||
_ref.read(iOSBackgroundSettingsProvider.notifier).refresh();
|
||||
await _ref
|
||||
.read(galleryPermissionNotifier.notifier)
|
||||
.getGalleryPermissionStatus();
|
||||
|
||||
await _ref.read(iOSBackgroundSettingsProvider.notifier).refresh();
|
||||
|
||||
_ref.invalidate(memoryFutureProvider);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue