From 97329d488b73e0fc17cf0a3317ddb99bdcc30f4c Mon Sep 17 00:00:00 2001 From: bwees Date: Tue, 24 Jun 2025 09:18:11 -0500 Subject: [PATCH] chore: code review changes from @shenlong-tanwen --- mobile/lib/services/widget.service.dart | 36 +++++++++++-------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/mobile/lib/services/widget.service.dart b/mobile/lib/services/widget.service.dart index 5dd82fe390..646873f61a 100644 --- a/mobile/lib/services/widget.service.dart +++ b/mobile/lib/services/widget.service.dart @@ -4,45 +4,44 @@ import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:immich_mobile/constants/constants.dart'; import 'package:immich_mobile/domain/models/store.model.dart'; import 'package:immich_mobile/entities/store.entity.dart'; -import 'package:immich_mobile/models/auth/auxilary_endpoint.model.dart'; +import 'package:immich_mobile/repositories/auth.repository.dart'; import 'package:immich_mobile/repositories/widget.repository.dart'; final widgetServiceProvider = Provider((ref) { return WidgetService( ref.watch(widgetRepositoryProvider), + ref.watch(authRepositoryProvider), ); }); class WidgetService { - final WidgetRepository _repository; + final WidgetRepository _widgetRepository; + final AuthRepository _authRepository; - WidgetService(this._repository); + WidgetService(this._widgetRepository, this._authRepository); Future writeSessionKey( String sessionKey, ) async { - await _repository.setAppGroupId(appShareGroupId); - await _repository.saveData(kWidgetAuthToken, sessionKey); + await _widgetRepository.setAppGroupId(appShareGroupId); + await _widgetRepository.saveData(kWidgetAuthToken, sessionKey); // wait 3 seconds to ensure the widget is updated, dont block Future.delayed(const Duration(seconds: 3), refreshWidgets); } Future writeServerList() async { - await _repository.setAppGroupId(appShareGroupId); + await _widgetRepository.setAppGroupId(appShareGroupId); // create json string from serverURLS final serverURLSString = jsonEncode(_buildServerList()); - await _repository.saveData(kWidgetServerEndpoint, serverURLSString); + await _widgetRepository.saveData(kWidgetServerEndpoint, serverURLSString); Future.delayed(const Duration(seconds: 3), refreshWidgets); } List _buildServerList() { - final List jsonList = - jsonDecode(Store.tryGet(StoreKey.externalEndpointList) ?? "[]"); - final endpointList = - jsonList.map((e) => AuxilaryEndpoint.fromJson(e)).toList(); + final endpointList = _authRepository.getExternalEndpointList(); final String? localEndpoint = Store.tryGet(StoreKey.localEndpoint); final String? serverUrl = Store.tryGet(StoreKey.serverUrl); @@ -53,20 +52,17 @@ class WidgetService { serverUrlList.insert(0, localEndpoint); } - if (serverUrl != null && serverUrl != localEndpoint) { + if (serverUrl != null) { serverUrlList.insert(0, serverUrl); } - // remove duplicates - final Set uniqueServerUrls = serverUrlList.toSet(); - - return uniqueServerUrls.toList(); + return serverUrlList.toSet().toList(); } Future clearCredentials() async { - await _repository.setAppGroupId(appShareGroupId); - await _repository.saveData(kWidgetServerEndpoint, ""); - await _repository.saveData(kWidgetAuthToken, ""); + await _widgetRepository.setAppGroupId(appShareGroupId); + await _widgetRepository.saveData(kWidgetServerEndpoint, ""); + await _widgetRepository.saveData(kWidgetAuthToken, ""); // wait 3 seconds to ensure the widget is updated, dont block Future.delayed(const Duration(seconds: 3), refreshWidgets); @@ -74,7 +70,7 @@ class WidgetService { Future refreshWidgets() async { for (final name in kWidgetNames) { - await _repository.refresh(name); + await _widgetRepository.refresh(name); } } }