Migrate deprecated methods

This commit is contained in:
Ming Ming 2022-11-13 17:49:36 +08:00
parent b8780c9ddb
commit 658beef3bd
2 changed files with 9 additions and 8 deletions

View file

@ -1,4 +1,4 @@
import 'dart:ui' as ui show Codec; import 'dart:ui' as ui show Codec, ImmutableBuffer;
import 'package:equatable/equatable.dart'; import 'package:equatable/equatable.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
@ -19,7 +19,8 @@ class ContentUriImage extends ImageProvider<ContentUriImage>
} }
@override @override
load(ContentUriImage key, DecoderCallback decode) { ImageStreamCompleter loadBuffer(
ContentUriImage key, DecoderBufferCallback decode) {
return MultiFrameImageStreamCompleter( return MultiFrameImageStreamCompleter(
codec: _loadAsync(key, decode), codec: _loadAsync(key, decode),
scale: key.scale, scale: key.scale,
@ -31,18 +32,17 @@ class ContentUriImage extends ImageProvider<ContentUriImage>
} }
Future<ui.Codec> _loadAsync( Future<ui.Codec> _loadAsync(
ContentUriImage key, DecoderCallback decode) async { ContentUriImage key, DecoderBufferCallback decode) async {
assert(key == this); assert(key == this);
final bytes = await ContentUri.readUri(uri); final bytes = await ContentUri.readUri(uri);
if (bytes.lengthInBytes == 0) { if (bytes.lengthInBytes == 0) {
// The file may become available later. // The file may become available later.
PaintingBinding.instance.imageCache.evict(key); PaintingBinding.instance.imageCache.evict(key);
throw StateError("$uri is empty and cannot be loaded as an image."); throw StateError("$uri is empty and cannot be loaded as an image.");
} }
final ui.ImmutableBuffer buffer =
return decode(bytes); await ui.ImmutableBuffer.fromUint8List(bytes);
return decode(buffer);
} }
@override @override

View file

@ -17,7 +17,8 @@ class PixelImage extends ImageProvider<PixelImage> {
SynchronousFuture<PixelImage>(this); SynchronousFuture<PixelImage>(this);
@override @override
load(PixelImage key, DecoderCallback decode) => ImageStreamCompleter loadBuffer(
PixelImage key, DecoderBufferCallback decode) =>
OneFrameImageStreamCompleter(_createImageInfo()); OneFrameImageStreamCompleter(_createImageInfo());
Future<ImageInfo> _createImageInfo() async { Future<ImageInfo> _createImageInfo() async {