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() async {
|
|
|
|
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));
|
|
|
|
var galleryList = await PhotoManager.getAssetPathList(
|
2020-05-27 16:31:12 +00:00
|
|
|
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);
|
|
|
|
}
|
|
|
|
}
|