From f6d02d575a4b1f6c645d991c346797526b5f6c3f Mon Sep 17 00:00:00 2001 From: ashilkn Date: Thu, 4 Aug 2022 12:16:39 +0530 Subject: [PATCH] moved files caching to search_service.dart --- lib/services/search_service.dart | 27 +++++++++++++++++++++++++++ lib/services/user_service.dart | 19 ++----------------- 2 files changed, 29 insertions(+), 17 deletions(-) create mode 100644 lib/services/search_service.dart diff --git a/lib/services/search_service.dart b/lib/services/search_service.dart new file mode 100644 index 000000000..24ee8a5ea --- /dev/null +++ b/lib/services/search_service.dart @@ -0,0 +1,27 @@ +import 'package:photos/core/event_bus.dart'; +import 'package:photos/db/files_db.dart'; +import 'package:photos/events/local_photos_updated_event.dart'; +import 'package:photos/models/file.dart'; + +class SearchService { + List _cachedFiles; + + SearchService._privateConstructor(); + static final SearchService instance = SearchService._privateConstructor(); + + Future init() async { + _cachedFiles = await FilesDB.instance.getAllFilesFromDB(); + + Bus.instance.on().listen((event) { + _cachedFiles = null; + getAllFiles(); + }); + + //need collectionUpdatedEvent listener? + } + + Future> getAllFiles() async { + _cachedFiles ??= await FilesDB.instance.getAllFilesFromDB(); + return _cachedFiles; + } +} diff --git a/lib/services/user_service.dart b/lib/services/user_service.dart index d8fbcdfc5..24f51206a 100644 --- a/lib/services/user_service.dart +++ b/lib/services/user_service.dart @@ -7,9 +7,7 @@ import 'package:logging/logging.dart'; import 'package:photos/core/configuration.dart'; import 'package:photos/core/event_bus.dart'; import 'package:photos/core/network.dart'; -import 'package:photos/db/files_db.dart'; import 'package:photos/db/public_keys_db.dart'; -import 'package:photos/events/local_photos_updated_event.dart'; import 'package:photos/events/two_factor_status_change_event.dart'; import 'package:photos/events/user_details_changed_event.dart'; import 'package:photos/models/delete_account.dart'; @@ -22,6 +20,7 @@ import 'package:photos/models/sessions.dart'; import 'package:photos/models/set_keys_request.dart'; import 'package:photos/models/set_recovery_key_request.dart'; import 'package:photos/models/user_details.dart'; +import 'package:photos/services/search_service.dart'; import 'package:photos/ui/account/login_page.dart'; import 'package:photos/ui/account/ott_verification_page.dart'; import 'package:photos/ui/account/password_entry_page.dart'; @@ -38,7 +37,6 @@ class UserService { final _dio = Network.instance.getDio(); final _logger = Logger((UserService).toString()); final _config = Configuration.instance; - List _cachedFiles; ValueNotifier emailValueNotifier; UserService._privateConstructor(); @@ -47,14 +45,6 @@ class UserService { Future init() async { emailValueNotifier = ValueNotifier(Configuration.instance.getEmail()); - _cachedFiles = await FilesDB.instance.getAllFilesFromDB(); - - Bus.instance.on().listen((event) { - _cachedFiles = null; - getAllFiles(); - }); - - //need collectionUpdatedEvent listener? } Future sendOtt( @@ -872,11 +862,6 @@ class UserService { } } - Future> getAllFiles() async { - _cachedFiles ??= await FilesDB.instance.getAllFilesFromDB(); - return _cachedFiles; - } - Future>> getLocationsToMatchedFiles( String query, ) async { @@ -905,7 +890,7 @@ class UserService { ); } - List allFiles = await getAllFiles(); + List allFiles = await SearchService.instance.getAllFiles(); Map> locationsToMatchedFiles = {}; for (var locationAndBbox in matchedLocationNamesAndBboxs) {