ente/lib/photo_repository.dart

34 lines
850 B
Dart
Raw Normal View History

2020-05-02 16:28:54 +00:00
import 'package:logging/logging.dart';
2020-05-04 20:03:06 +00:00
import 'package:photos/core/event_bus.dart';
2020-05-18 15:38:15 +00:00
import 'package:photos/db/photo_db.dart';
import 'package:photos/events/local_photos_updated_event.dart';
import 'package:photos/models/photo.dart';
2020-03-27 16:07:55 +00:00
2020-05-04 20:44:34 +00:00
class PhotoRepository {
2020-05-25 19:50:36 +00:00
final _logger = Logger("PhotoRepository");
2020-03-28 18:18:27 +00:00
final _photos = List<Photo>();
2020-04-13 15:01:27 +00:00
2020-05-04 20:44:34 +00:00
PhotoRepository._privateConstructor();
static final PhotoRepository instance = PhotoRepository._privateConstructor();
2020-03-27 19:54:24 +00:00
2020-04-13 15:01:27 +00:00
List<Photo> get photos {
2020-03-27 16:07:55 +00:00
return _photos;
}
2020-04-13 15:01:27 +00:00
Future<bool> loadPhotos() async {
2020-05-18 15:38:15 +00:00
PhotoDB db = PhotoDB.instance;
2020-03-28 18:18:27 +00:00
var photos = await db.getAllPhotos();
2020-04-13 15:01:27 +00:00
2020-03-28 18:18:27 +00:00
_photos.clear();
_photos.addAll(photos);
2020-04-13 15:01:27 +00:00
return true;
2020-03-27 16:07:55 +00:00
}
2020-03-27 19:54:24 +00:00
2020-06-17 18:38:49 +00:00
Future<void> reloadPhotos() async {
2020-05-25 19:50:36 +00:00
_logger.info("Reloading...");
2020-05-04 20:03:06 +00:00
await loadPhotos();
Bus.instance.fire(LocalPhotosUpdatedEvent());
2020-03-27 19:54:24 +00:00
}
2020-04-13 15:01:27 +00:00
}