moved files caching to search_service.dart

This commit is contained in:
ashilkn 2022-08-04 12:16:39 +05:30
parent dc98b2ea51
commit f6d02d575a
2 changed files with 29 additions and 17 deletions

View file

@ -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<File> _cachedFiles;
SearchService._privateConstructor();
static final SearchService instance = SearchService._privateConstructor();
Future<void> init() async {
_cachedFiles = await FilesDB.instance.getAllFilesFromDB();
Bus.instance.on<LocalPhotosUpdatedEvent>().listen((event) {
_cachedFiles = null;
getAllFiles();
});
//need collectionUpdatedEvent listener?
}
Future<List<File>> getAllFiles() async {
_cachedFiles ??= await FilesDB.instance.getAllFilesFromDB();
return _cachedFiles;
}
}

View file

@ -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<File> _cachedFiles;
ValueNotifier<String> emailValueNotifier;
UserService._privateConstructor();
@ -47,14 +45,6 @@ class UserService {
Future<void> init() async {
emailValueNotifier =
ValueNotifier<String>(Configuration.instance.getEmail());
_cachedFiles = await FilesDB.instance.getAllFilesFromDB();
Bus.instance.on<LocalPhotosUpdatedEvent>().listen((event) {
_cachedFiles = null;
getAllFiles();
});
//need collectionUpdatedEvent listener?
}
Future<void> sendOtt(
@ -872,11 +862,6 @@ class UserService {
}
}
Future<List<File>> getAllFiles() async {
_cachedFiles ??= await FilesDB.instance.getAllFilesFromDB();
return _cachedFiles;
}
Future<Map<String, List<File>>> getLocationsToMatchedFiles(
String query,
) async {
@ -905,7 +890,7 @@ class UserService {
);
}
List<File> allFiles = await getAllFiles();
List<File> allFiles = await SearchService.instance.getAllFiles();
Map<String, List<File>> locationsToMatchedFiles = {};
for (var locationAndBbox in matchedLocationNamesAndBboxs) {