1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import "package:photo_manager/photo_manager.dart";
- enum FileType {
- image,
- video,
- livePhoto,
- other,
- }
- int getInt(FileType fileType) {
- switch (fileType) {
- case FileType.image:
- return 0;
- case FileType.video:
- return 1;
- case FileType.livePhoto:
- return 2;
- default:
- return -1;
- }
- }
- FileType getFileType(int fileType) {
- switch (fileType) {
- case 0:
- return FileType.image;
- case 1:
- return FileType.video;
- case 2:
- return FileType.livePhoto;
- default:
- return FileType.other;
- }
- }
- FileType fileTypeFromAsset(AssetEntity asset) {
- FileType type = FileType.image;
- switch (asset.type) {
- case AssetType.image:
- type = FileType.image;
- // PHAssetMediaSubtype.photoLive.rawValue is 8
- // This hack should go away once photos_manager support livePhotos
- if (asset.subtype > -1 && (asset.subtype & 8) != 0) {
- type = FileType.livePhoto;
- }
- break;
- case AssetType.video:
- type = FileType.video;
- break;
- default:
- type = FileType.other;
- break;
- }
- return type;
- }
- String getHumanReadableString(FileType fileType) {
- switch (fileType) {
- case FileType.image:
- return "Image";
- case FileType.video:
- return "Video";
- case FileType.livePhoto:
- return "Live Photo";
- default:
- return fileType.name.toUpperCase();
- }
- }
|