Merge branch 'matrixfiles-fix-thumbnails' into 'master'
[MatrixFile] Fix thumbnail encoding See merge request famedly/famedlysdk!264
This commit is contained in:
commit
1a94d7d145
|
@ -488,7 +488,7 @@ class Client {
|
|||
|
||||
/// Uploads a new user avatar for this user.
|
||||
Future<void> setAvatar(MatrixFile file) async {
|
||||
await file.resize(width: 128);
|
||||
await file.resize(width: Client.defaultThumbnailSize);
|
||||
final uploadResp = await upload(file);
|
||||
await jsonRequest(
|
||||
type: HTTPType.PUT,
|
||||
|
@ -557,6 +557,7 @@ class Client {
|
|||
static const List<String> supportedGroupEncryptionAlgorithms = [
|
||||
'm.megolm.v1.aes-sha2'
|
||||
];
|
||||
static const int defaultThumbnailSize = 256;
|
||||
|
||||
http.Client httpClient = http.Client();
|
||||
|
||||
|
|
|
@ -503,10 +503,10 @@ class Room {
|
|||
|
||||
if (msgType == 'm.image') {
|
||||
var thumbnailPathParts = file.path.split('/');
|
||||
thumbnailPathParts.last = 'thumbnail_' + thumbnailPathParts.last;
|
||||
thumbnailPathParts.last = 'thumbnail_' + thumbnailPathParts.last + '.jpg';
|
||||
final thumbnailPath = thumbnailPathParts.join('/');
|
||||
thumbnail = MatrixFile(bytes: file.bytes, path: thumbnailPath);
|
||||
await thumbnail.resize(width: 512);
|
||||
await thumbnail.resize(width: Client.defaultThumbnailSize);
|
||||
fileImage = decodeImage(file.bytes.toList());
|
||||
thumbnailImage = decodeImage(thumbnail.bytes.toList());
|
||||
}
|
||||
|
@ -1250,7 +1250,7 @@ class Room {
|
|||
/// Uploads a new user avatar for this room. Returns the event ID of the new
|
||||
/// m.room.avatar event.
|
||||
Future<String> setAvatar(MatrixFile file) async {
|
||||
await file.resize(width: 256);
|
||||
await file.resize(width: Client.defaultThumbnailSize);
|
||||
final uploadResp = await client.upload(file);
|
||||
final setAvatarResp = await client.jsonRequest(
|
||||
type: HTTPType.PUT,
|
||||
|
|
|
@ -12,6 +12,7 @@ class MatrixFile {
|
|||
/// If this file is an Image, this will resize it to the
|
||||
/// given width and height. Otherwise returns false.
|
||||
/// At least width or height must be set!
|
||||
/// The bytes will be encoded as jpg.
|
||||
Future<bool> resize({int width, int height}) async {
|
||||
if (width == null && height == null) {
|
||||
throw ('At least width or height must be set!');
|
||||
|
@ -23,7 +24,7 @@ class MatrixFile {
|
|||
return false;
|
||||
}
|
||||
final resizedImage = copyResize(image, width: width, height: height);
|
||||
bytes = encodePng(resizedImage);
|
||||
bytes = encodeJpg(resizedImage, quality: 10);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue