diff --git a/lib/src/client.dart b/lib/src/client.dart index fe0828ee..3977e642 100644 --- a/lib/src/client.dart +++ b/lib/src/client.dart @@ -104,8 +104,8 @@ class Client extends MatrixApi { final Duration sendTimelineEventTimeout; - MatrixImageFileResizedResponse? Function(MatrixImageFileResizeArguments)? - customImageResizer; + Future Function( + MatrixImageFileResizeArguments)? customImageResizer; /// Create a client /// [clientName] = unique identifier of this client diff --git a/lib/src/utils/matrix_file.dart b/lib/src/utils/matrix_file.dart index 219a9dd9..09f4af27 100644 --- a/lib/src/utils/matrix_file.dart +++ b/lib/src/utils/matrix_file.dart @@ -105,7 +105,8 @@ class MatrixImageFile extends MatrixFile { required String name, int maxDimension = 1600, String? mimeType, - MatrixImageFileResizedResponse? Function(MatrixImageFileResizeArguments)? + Future Function( + MatrixImageFileResizeArguments)? customImageResizer, Future Function(FutureOr Function(U arg) function, U arg)? compute}) async { @@ -115,10 +116,11 @@ class MatrixImageFile extends MatrixFile { fileName: name, calcBlurhash: true, ); - customImageResizer ??= _resize; - final resizedData = compute != null - ? await compute(_resize, arguments) - : _resize(arguments); + final resizedData = customImageResizer != null + ? await customImageResizer(arguments) + : compute != null + ? await compute(_resize, arguments) + : _resize(arguments); if (resizedData == null) { return MatrixImageFile(bytes: bytes, name: name, mimeType: mimeType); @@ -157,7 +159,8 @@ class MatrixImageFile extends MatrixFile { /// computes a thumbnail for the image Future generateThumbnail( {int dimension = Client.defaultThumbnailSize, - MatrixImageFileResizedResponse? Function(MatrixImageFileResizeArguments)? + Future Function( + MatrixImageFileResizeArguments)? customImageResizer, Future Function(FutureOr Function(U arg) function, U arg)? compute}) async {