make getImageRequestForUrl accept user or userEntity and have a variant without a user

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
This commit is contained in:
Andy Scherzinger 2022-07-05 22:44:13 +02:00
parent 9b28a8cfe3
commit 110e8a76b7
No known key found for this signature in database
GPG Key ID: 6CADC7E3523C308B

View File

@ -193,12 +193,20 @@ public class DisplayUtils {
return bitmap; return bitmap;
} }
public static ImageRequest getImageRequestForUrl(String url) {
return getImageRequestForUrl(url, (User) null);
}
public static ImageRequest getImageRequestForUrl(String url, @Nullable UserEntity userEntity) { public static ImageRequest getImageRequestForUrl(String url, @Nullable UserEntity userEntity) {
return getImageRequestForUrl(url, LegacyUserEntityMapper.toModel(userEntity));
}
public static ImageRequest getImageRequestForUrl(String url, @Nullable User user) {
Map<String, String> headers = new HashMap<>(); Map<String, String> headers = new HashMap<>();
if (userEntity != null && if (user != null &&
url.startsWith(userEntity.getBaseUrl()) && url.startsWith(user.getBaseUrl()) &&
(url.contains("index.php/core/preview?fileId=") || url.contains("/avatar/"))) { (url.contains("index.php/core/preview?fileId=") || url.contains("/avatar/"))) {
headers.put("Authorization", ApiUtils.getCredentials(userEntity.getUsername(), userEntity.getToken())); headers.put("Authorization", ApiUtils.getCredentials(user.getUsername(), user.getToken()));
} }
return ImageRequestBuilder.newBuilderWithSource(Uri.parse(url)) return ImageRequestBuilder.newBuilderWithSource(Uri.parse(url))
@ -327,7 +335,7 @@ public class DisplayUtils {
conversationUser.getBaseUrl(), conversationUser.getBaseUrl(),
String.valueOf(label), true); String.valueOf(label), true);
} }
ImageRequest imageRequest = getImageRequestForUrl(url, null); ImageRequest imageRequest = getImageRequestForUrl(url);
ImagePipeline imagePipeline = Fresco.getImagePipeline(); ImagePipeline imagePipeline = Fresco.getImagePipeline();
DataSource<CloseableReference<CloseableImage>> dataSource = imagePipeline.fetchDecodedImage( DataSource<CloseableReference<CloseableImage>> dataSource = imagePipeline.fetchDecodedImage(
imageRequest, imageRequest,
@ -599,7 +607,7 @@ public class DisplayUtils {
DraweeController draweeController = Fresco.newDraweeControllerBuilder() DraweeController draweeController = Fresco.newDraweeControllerBuilder()
.setOldController(avatarImageView.getController()) .setOldController(avatarImageView.getController())
.setAutoPlayAnimations(true) .setAutoPlayAnimations(true)
.setImageRequest(DisplayUtils.getImageRequestForUrl(avatarString, null)) .setImageRequest(DisplayUtils.getImageRequestForUrl(avatarString))
.build(); .build();
avatarImageView.setController(draweeController); avatarImageView.setController(draweeController);
} }