reformat code
This commit is contained in:
parent
4be94e2058
commit
924dc92946
@ -43,7 +43,8 @@ class _MyAppState extends State<MyApp> {
|
|||||||
|
|
||||||
Future<bool> _promptPermissionSetting() async {
|
Future<bool> _promptPermissionSetting() async {
|
||||||
if (Platform.isIOS) {
|
if (Platform.isIOS) {
|
||||||
if (await Permission.photos.request().isGranted || await Permission.storage.request().isGranted) {
|
if (await Permission.photos.request().isGranted ||
|
||||||
|
await Permission.storage.request().isGranted) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -84,7 +85,9 @@ class _MyAppState extends State<MyApp> {
|
|||||||
...?_albums?.map(
|
...?_albums?.map(
|
||||||
(album) => GestureDetector(
|
(album) => GestureDetector(
|
||||||
onTap: () => Navigator.of(context).push(
|
onTap: () => Navigator.of(context).push(
|
||||||
MaterialPageRoute(builder: (context) => AlbumPage(album)),
|
MaterialPageRoute(
|
||||||
|
builder: (context) => AlbumPage(album),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
child: Column(
|
child: Column(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
@ -96,7 +99,8 @@ class _MyAppState extends State<MyApp> {
|
|||||||
width: gridWidth,
|
width: gridWidth,
|
||||||
child: FadeInImage(
|
child: FadeInImage(
|
||||||
fit: BoxFit.cover,
|
fit: BoxFit.cover,
|
||||||
placeholder: MemoryImage(kTransparentImage),
|
placeholder:
|
||||||
|
MemoryImage(kTransparentImage),
|
||||||
image: AlbumThumbnailProvider(
|
image: AlbumThumbnailProvider(
|
||||||
album: album,
|
album: album,
|
||||||
highQuality: true,
|
highQuality: true,
|
||||||
@ -308,7 +312,9 @@ class _VideoProviderState extends State<VideoProvider> {
|
|||||||
TextButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
setState(() {
|
setState(() {
|
||||||
_controller!.value.isPlaying ? _controller!.pause() : _controller!.play();
|
_controller!.value.isPlaying
|
||||||
|
? _controller!.pause()
|
||||||
|
: _controller!.play();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
child: Icon(
|
child: Icon(
|
||||||
|
@ -33,7 +33,9 @@ class PhotoGallery {
|
|||||||
'mediumType': mediumTypeToJson(mediumType),
|
'mediumType': mediumTypeToJson(mediumType),
|
||||||
'hideIfEmpty': hideIfEmpty,
|
'hideIfEmpty': hideIfEmpty,
|
||||||
});
|
});
|
||||||
return json.map<Album>((album) => Album.fromJson(album, mediumType, newest)).toList();
|
return json
|
||||||
|
.map<Album>((album) => Album.fromJson(album, mediumType, newest))
|
||||||
|
.toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// List all available media in a specific album, support pagination of media
|
/// List all available media in a specific album, support pagination of media
|
||||||
|
@ -33,7 +33,10 @@ class AlbumThumbnailProvider extends ImageProvider<AlbumThumbnailProvider> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<ui.Codec> _loadAsync(AlbumThumbnailProvider key, ImageDecoderCallback decode) async {
|
Future<ui.Codec> _loadAsync(
|
||||||
|
AlbumThumbnailProvider key,
|
||||||
|
ImageDecoderCallback decode,
|
||||||
|
) async {
|
||||||
assert(key == this);
|
assert(key == this);
|
||||||
late ui.ImmutableBuffer buffer;
|
late ui.ImmutableBuffer buffer;
|
||||||
try {
|
try {
|
||||||
@ -47,7 +50,9 @@ class AlbumThumbnailProvider extends ImageProvider<AlbumThumbnailProvider> {
|
|||||||
);
|
);
|
||||||
buffer = await ui.ImmutableBuffer.fromUint8List(Uint8List.fromList(data));
|
buffer = await ui.ImmutableBuffer.fromUint8List(Uint8List.fromList(data));
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
buffer = await ui.ImmutableBuffer.fromAsset("packages/photo_gallery/images/grey.bmp");
|
buffer = await ui.ImmutableBuffer.fromAsset(
|
||||||
|
"packages/photo_gallery/images/grey.bmp",
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return decode(buffer);
|
return decode(buffer);
|
||||||
}
|
}
|
||||||
|
@ -25,11 +25,15 @@ class PhotoProvider extends ImageProvider<PhotoProvider> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<ui.Codec> _loadAsync(PhotoProvider key, ImageDecoderCallback decode) async {
|
Future<ui.Codec> _loadAsync(
|
||||||
|
PhotoProvider key,
|
||||||
|
ImageDecoderCallback decode,
|
||||||
|
) async {
|
||||||
assert(key == this);
|
assert(key == this);
|
||||||
final file = await PhotoGallery.getFile(
|
final file = await PhotoGallery.getFile(
|
||||||
mediumId: mediumId, mediumType: MediumType.image, mimeType: mimeType);
|
mediumId: mediumId, mediumType: MediumType.image, mimeType: mimeType);
|
||||||
ui.ImmutableBuffer buffer = await ui.ImmutableBuffer.fromFilePath(file.path);
|
ui.ImmutableBuffer buffer =
|
||||||
|
await ui.ImmutableBuffer.fromFilePath(file.path);
|
||||||
return decode(buffer);
|
return decode(buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,7 +37,10 @@ class ThumbnailProvider extends ImageProvider<ThumbnailProvider> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<ui.Codec> _loadAsync(ThumbnailProvider key, ImageDecoderCallback decode) async {
|
Future<ui.Codec> _loadAsync(
|
||||||
|
ThumbnailProvider key,
|
||||||
|
ImageDecoderCallback decode,
|
||||||
|
) async {
|
||||||
assert(key == this);
|
assert(key == this);
|
||||||
late ui.ImmutableBuffer buffer;
|
late ui.ImmutableBuffer buffer;
|
||||||
try {
|
try {
|
||||||
@ -50,7 +53,9 @@ class ThumbnailProvider extends ImageProvider<ThumbnailProvider> {
|
|||||||
);
|
);
|
||||||
buffer = await ui.ImmutableBuffer.fromUint8List(Uint8List.fromList(data));
|
buffer = await ui.ImmutableBuffer.fromUint8List(Uint8List.fromList(data));
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
buffer = await ui.ImmutableBuffer.fromAsset("packages/photo_gallery/images/grey.bmp");
|
buffer = await ui.ImmutableBuffer.fromAsset(
|
||||||
|
"packages/photo_gallery/images/grey.bmp",
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return decode(buffer);
|
return decode(buffer);
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,7 @@ class MediaPage {
|
|||||||
album: album,
|
album: album,
|
||||||
skip: end,
|
skip: end,
|
||||||
take: items.length,
|
take: items.length,
|
||||||
lightWeight: lightWeight
|
lightWeight: lightWeight,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,14 +13,16 @@ void main() {
|
|||||||
TestWidgetsFlutterBinding.ensureInitialized();
|
TestWidgetsFlutterBinding.ensureInitialized();
|
||||||
|
|
||||||
setUp(() {
|
setUp(() {
|
||||||
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler(
|
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
|
||||||
|
.setMockMethodCallHandler(
|
||||||
channel,
|
channel,
|
||||||
mockMethodCallHandler,
|
mockMethodCallHandler,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
tearDown(() {
|
tearDown(() {
|
||||||
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler(
|
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
|
||||||
|
.setMockMethodCallHandler(
|
||||||
channel,
|
channel,
|
||||||
null,
|
null,
|
||||||
);
|
);
|
||||||
@ -30,7 +32,10 @@ void main() {
|
|||||||
MediumType mediumType = MediumType.image;
|
MediumType mediumType = MediumType.image;
|
||||||
bool newest = true;
|
bool newest = true;
|
||||||
var result = await PhotoGallery.listAlbums(mediumType: mediumType);
|
var result = await PhotoGallery.listAlbums(mediumType: mediumType);
|
||||||
var expected = Generator.generateAlbums(mediumType: mediumType, newest: newest);
|
var expected = Generator.generateAlbums(
|
||||||
|
mediumType: mediumType,
|
||||||
|
newest: newest,
|
||||||
|
);
|
||||||
expect(result, expected);
|
expect(result, expected);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -25,7 +25,10 @@ class Generator {
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
static List<Album> generateAlbums({MediumType? mediumType, bool newest = true}) {
|
static List<Album> generateAlbums({
|
||||||
|
MediumType? mediumType,
|
||||||
|
bool newest = true,
|
||||||
|
}) {
|
||||||
return Generator.generateAlbumsJson(mediumType: mediumType, newest: newest)
|
return Generator.generateAlbumsJson(mediumType: mediumType, newest: newest)
|
||||||
.map<Album>((x) => Album.fromJson(x, mediumType, newest))
|
.map<Album>((x) => Album.fromJson(x, mediumType, newest))
|
||||||
.toList();
|
.toList();
|
||||||
@ -42,7 +45,10 @@ class Generator {
|
|||||||
var items = [];
|
var items = [];
|
||||||
int index = skip;
|
int index = skip;
|
||||||
while (index < skip + take) {
|
while (index < skip + take) {
|
||||||
items.add(generateMediaJson(mediumId: index.toString(), mediumType: mediumType));
|
items.add(generateMediaJson(
|
||||||
|
mediumId: index.toString(),
|
||||||
|
mediumType: mediumType,
|
||||||
|
));
|
||||||
index++;
|
index++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,7 +8,10 @@ Future<dynamic> mockMethodCallHandler(MethodCall call) async {
|
|||||||
if (call.method == "listAlbums") {
|
if (call.method == "listAlbums") {
|
||||||
MediumType? mediumType = jsonToMediumType(call.arguments['mediumType']);
|
MediumType? mediumType = jsonToMediumType(call.arguments['mediumType']);
|
||||||
bool newest = call.arguments['newest'];
|
bool newest = call.arguments['newest'];
|
||||||
dynamic albums = Generator.generateAlbumsJson(mediumType: mediumType, newest: newest);
|
dynamic albums = Generator.generateAlbumsJson(
|
||||||
|
mediumType: mediumType,
|
||||||
|
newest: newest,
|
||||||
|
);
|
||||||
return albums;
|
return albums;
|
||||||
} else if (call.method == "listMedia") {
|
} else if (call.method == "listMedia") {
|
||||||
String albumId = call.arguments['albumId'];
|
String albumId = call.arguments['albumId'];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user