Merge branch 'krille/custom-image-resizer' into 'main'

chore: Allow custom image resizer to be an async method

See merge request famedly/company/frontend/famedlysdk!1001
This commit is contained in:
Krille Fear 2022-04-04 12:48:48 +00:00
commit 38728ed153
4 changed files with 15 additions and 9 deletions

View File

@ -1,3 +1,6 @@
## [0.8.17] - 4th Apr 2022
- chore: Allow custom image resizer to be an async method
## [0.8.16] - 3th Apr 2022
- fix: Missing type check in power level calculation
- fix: Post load all users on room opening

View File

@ -104,8 +104,8 @@ class Client extends MatrixApi {
final Duration sendTimelineEventTimeout;
MatrixImageFileResizedResponse? Function(MatrixImageFileResizeArguments)?
customImageResizer;
Future<MatrixImageFileResizedResponse?> Function(
MatrixImageFileResizeArguments)? customImageResizer;
/// Create a client
/// [clientName] = unique identifier of this client

View File

@ -105,7 +105,8 @@ class MatrixImageFile extends MatrixFile {
required String name,
int maxDimension = 1600,
String? mimeType,
MatrixImageFileResizedResponse? Function(MatrixImageFileResizeArguments)?
Future<MatrixImageFileResizedResponse?> Function(
MatrixImageFileResizeArguments)?
customImageResizer,
Future<T> Function<T, U>(FutureOr<T> 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<MatrixImageFile?> generateThumbnail(
{int dimension = Client.defaultThumbnailSize,
MatrixImageFileResizedResponse? Function(MatrixImageFileResizeArguments)?
Future<MatrixImageFileResizedResponse?> Function(
MatrixImageFileResizeArguments)?
customImageResizer,
Future<T> Function<T, U>(FutureOr<T> Function(U arg) function, U arg)?
compute}) async {

View File

@ -1,6 +1,6 @@
name: matrix
description: Matrix Dart SDK
version: 0.8.16
version: 0.8.17
homepage: https://famedly.com
repository: https://gitlab.com/famedly/company/frontend/famedlysdk.git