ente/lib/photo_provider.dart

35 lines
1 KiB
Dart
Raw Normal View History

2020-03-24 19:59:36 +00:00
import 'package:photo_manager/photo_manager.dart';
2020-05-04 20:44:34 +00:00
class PhotoProvider {
2020-04-27 13:02:29 +00:00
PhotoProvider._privateConstructor();
static final PhotoProvider instance = PhotoProvider._privateConstructor();
2020-03-24 19:59:36 +00:00
2020-04-27 13:02:29 +00:00
List<AssetPathEntity> list = [];
2020-03-24 19:59:36 +00:00
Future<void> refreshGalleryList(
final int fromTimestamp, final int toTimestamp) async {
2020-03-24 19:59:36 +00:00
var result = await PhotoManager.requestPermission();
if (!result) {
print("Did not get permission");
}
2020-04-24 12:40:24 +00:00
final filterOptionGroup = FilterOptionGroup();
filterOptionGroup.setOption(AssetType.image, FilterOption(needTitle: true));
filterOptionGroup.dateTimeCond = DateTimeCond(
min: DateTime.fromMicrosecondsSinceEpoch(fromTimestamp),
max: DateTime.fromMicrosecondsSinceEpoch(toTimestamp),
);
2020-04-24 12:40:24 +00:00
var galleryList = await PhotoManager.getAssetPathList(
hasAll: true,
type: RequestType.image,
filterOption: filterOptionGroup,
);
2020-03-24 19:59:36 +00:00
galleryList.sort((s1, s2) {
return s2.assetCount.compareTo(s1.assetCount);
});
this.list.clear();
this.list.addAll(galleryList);
}
}