use DecoderBufferCallback instead of DecoderCallback in ImageProviders
This commit is contained in:
parent
b9daf27c62
commit
c79a684879
@ -11,7 +11,7 @@ class PhotoProvider extends ImageProvider<PhotoProvider> {
|
|||||||
final String? mimeType;
|
final String? mimeType;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
ImageStreamCompleter load(key, decode) {
|
ImageStreamCompleter loadBuffer(key, decode) {
|
||||||
return MultiFrameImageStreamCompleter(
|
return MultiFrameImageStreamCompleter(
|
||||||
codec: _loadAsync(key, decode),
|
codec: _loadAsync(key, decode),
|
||||||
scale: 1.0,
|
scale: 1.0,
|
||||||
@ -21,14 +21,13 @@ class PhotoProvider extends ImageProvider<PhotoProvider> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<ui.Codec> _loadAsync(PhotoProvider key, DecoderCallback decode) async {
|
Future<ui.Codec> _loadAsync(PhotoProvider key, DecoderBufferCallback 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);
|
||||||
|
|
||||||
final bytes = await file.readAsBytes();
|
final bytes = await file.readAsBytes();
|
||||||
|
ui.ImmutableBuffer buffer = await ui.ImmutableBuffer.fromUint8List(bytes);
|
||||||
return await decode(bytes);
|
return decode(buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
@ -17,7 +17,7 @@ class ThumbnailProvider extends ImageProvider<ThumbnailProvider> {
|
|||||||
final bool? highQuality;
|
final bool? highQuality;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
ImageStreamCompleter load(key, decode) {
|
ImageStreamCompleter loadBuffer(key, decode) {
|
||||||
return MultiFrameImageStreamCompleter(
|
return MultiFrameImageStreamCompleter(
|
||||||
codec: _loadAsync(key, decode),
|
codec: _loadAsync(key, decode),
|
||||||
scale: 1.0,
|
scale: 1.0,
|
||||||
@ -27,17 +27,17 @@ class ThumbnailProvider extends ImageProvider<ThumbnailProvider> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<ui.Codec> _loadAsync(
|
Future<ui.Codec> _loadAsync(ThumbnailProvider key, DecoderBufferCallback decode) async {
|
||||||
ThumbnailProvider key, DecoderCallback decode) async {
|
|
||||||
assert(key == this);
|
assert(key == this);
|
||||||
final bytes = await PhotoGallery.getThumbnail(
|
final data = await PhotoGallery.getThumbnail(
|
||||||
mediumId: mediumId,
|
mediumId: mediumId,
|
||||||
mediumType: mediumType,
|
mediumType: mediumType,
|
||||||
height: height,
|
height: height,
|
||||||
width: width,
|
width: width,
|
||||||
highQuality: highQuality,
|
highQuality: highQuality,
|
||||||
);
|
);
|
||||||
return await decode(Uint8List.fromList(bytes));
|
ui.ImmutableBuffer buffer = await ui.ImmutableBuffer.fromUint8List(Uint8List.fromList(data));
|
||||||
|
return decode(buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user