Skip to content

Commit 9041bed

Browse files
Merge pull request #15195 from nextcloud/fixBlurryResizedImage
Fix blurry resized images
2 parents 5d9b92a + 30feb9c commit 9041bed

1 file changed

Lines changed: 11 additions & 3 deletions

File tree

app/src/main/java/com/owncloud/android/datamodel/ThumbnailsCacheManager.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@
6363

6464
import java.io.File;
6565
import java.io.FileNotFoundException;
66-
import java.io.IOException;
6766
import java.io.InputStream;
6867
import java.lang.ref.WeakReference;
6968
import java.util.List;
@@ -104,6 +103,7 @@ public final class ThumbnailsCacheManager {
104103
private static final int mCompressQuality = 70;
105104
private static OwnCloudClient mClient;
106105
private static final int THUMBNAIL_SIZE_IN_KB = 512;
106+
private static final int RESIZED_IMAGE_SIZE_IN_KB = 10240;
107107

108108
public static final Bitmap mDefaultImg = BitmapFactory.decodeResource(MainApp.getAppContext().getResources(),
109109
R.drawable.file_image);
@@ -240,9 +240,17 @@ public static void addBitmapToCache(String key, Bitmap bitmap) {
240240
return;
241241
}
242242

243-
if (BitmapExtensionsKt.allocationKilobyte(bitmap) > THUMBNAIL_SIZE_IN_KB) {
243+
// do not scale down resized images
244+
int size;
245+
if (key.startsWith("r")) {
246+
size = RESIZED_IMAGE_SIZE_IN_KB;
247+
} else {
248+
size = THUMBNAIL_SIZE_IN_KB;
249+
}
250+
251+
if (BitmapExtensionsKt.allocationKilobyte(bitmap) > size) {
244252
Log_OC.d(TAG, "Scaling bitmap before caching: " + key);
245-
bitmap = BitmapExtensionsKt.scaleUntil(bitmap, THUMBNAIL_SIZE_IN_KB);
253+
bitmap = BitmapExtensionsKt.scaleUntil(bitmap, size);
246254
}
247255

248256
mThumbnailCache.put(key, bitmap);

0 commit comments

Comments
 (0)