2020-06-19 23:03:26 +00:00
|
|
|
import 'package:logging/logging.dart';
|
|
|
|
import 'package:photos/core/event_bus.dart';
|
2020-07-06 19:09:47 +00:00
|
|
|
import 'package:photos/db/file_db.dart';
|
2020-06-19 23:03:26 +00:00
|
|
|
import 'package:photos/events/local_photos_updated_event.dart';
|
|
|
|
import 'package:photos/models/file.dart';
|
|
|
|
|
|
|
|
class FileRepository {
|
|
|
|
final _logger = Logger("PhotoRepository");
|
|
|
|
final _files = List<File>();
|
|
|
|
|
|
|
|
FileRepository._privateConstructor();
|
|
|
|
static final FileRepository instance = FileRepository._privateConstructor();
|
|
|
|
|
|
|
|
List<File> get files {
|
|
|
|
return _files;
|
|
|
|
}
|
|
|
|
|
2020-07-15 17:17:53 +00:00
|
|
|
Future<List<File>> loadFiles() async {
|
2020-07-06 09:13:59 +00:00
|
|
|
var files = await FileDB.instance.getAllLocalFiles();
|
2020-06-19 23:03:26 +00:00
|
|
|
|
|
|
|
_files.clear();
|
|
|
|
_files.addAll(files);
|
|
|
|
|
2020-07-15 17:17:53 +00:00
|
|
|
return _files;
|
2020-06-19 23:03:26 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
Future<void> reloadFiles() async {
|
|
|
|
_logger.info("Reloading...");
|
|
|
|
await loadFiles();
|
|
|
|
Bus.instance.fire(LocalPhotosUpdatedEvent());
|
|
|
|
}
|
|
|
|
}
|