2020-03-27 19:54:24 +00:00
|
|
|
import 'package:flutter/material.dart';
|
2020-03-27 16:07:55 +00:00
|
|
|
import 'package:logger/logger.dart';
|
|
|
|
import 'package:myapp/db/db_helper.dart';
|
|
|
|
import 'package:myapp/models/photo.dart';
|
|
|
|
|
2020-03-27 19:54:24 +00:00
|
|
|
class PhotoLoader extends ChangeNotifier {
|
2020-03-27 16:07:55 +00:00
|
|
|
final logger = Logger();
|
2020-03-28 18:18:27 +00:00
|
|
|
final _photos = List<Photo>();
|
2020-04-13 15:01:27 +00:00
|
|
|
|
2020-03-27 19:54:24 +00:00
|
|
|
PhotoLoader._privateConstructor();
|
|
|
|
static final PhotoLoader instance = PhotoLoader._privateConstructor();
|
|
|
|
|
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-03-27 16:07:55 +00:00
|
|
|
DatabaseHelper db = DatabaseHelper.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
|
|
|
|
2020-03-27 16:07:55 +00:00
|
|
|
logger.i("Imported photo size: " + _photos.length.toString());
|
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
|
|
|
|
|
|
|
void reloadPhotos() async {
|
|
|
|
await loadPhotos();
|
|
|
|
logger.i("Reloading...");
|
|
|
|
notifyListeners();
|
|
|
|
}
|
2020-04-13 15:01:27 +00:00
|
|
|
}
|