1717import com .bumptech .glide .load .model .GlideUrl ;
1818import com .bumptech .glide .load .model .UnitModelLoader ;
1919import com .bumptech .glide .load .resource .bitmap .BitmapDrawableEncoder ;
20+ import com .bumptech .glide .load .resource .bitmap .Downsampler ;
21+ import com .bumptech .glide .load .resource .bitmap .StreamBitmapDecoder ;
2022import com .bumptech .glide .load .resource .gif .ByteBufferGifDecoder ;
2123import com .bumptech .glide .load .resource .gif .GifDrawable ;
2224import com .bumptech .glide .load .resource .gif .StreamGifDecoder ;
3335import org .thoughtcrime .securesms .glide .BadgeLoader ;
3436import org .thoughtcrime .securesms .glide .ChunkedImageUrlLoader ;
3537import org .thoughtcrime .securesms .glide .ContactPhotoLoader ;
38+ import org .thoughtcrime .securesms .glide .DecryptableStreamUriLoader ;
3639import org .thoughtcrime .securesms .glide .OkHttpUrlLoader ;
3740import org .thoughtcrime .securesms .glide .cache .ApngFrameDrawableTranscoder ;
3841import org .thoughtcrime .securesms .glide .cache .ByteBufferApngDecoder ;
4245import org .thoughtcrime .securesms .glide .cache .EncryptedCacheEncoder ;
4346import org .thoughtcrime .securesms .glide .cache .EncryptedGifDrawableResourceEncoder ;
4447import org .thoughtcrime .securesms .glide .cache .StreamApngDecoder ;
45- import org .thoughtcrime .securesms .glide .cache .StreamBitmapDecoder ;
46- import org .thoughtcrime .securesms .glide .cache .StreamFactoryApngDecoder ;
47- import org .thoughtcrime .securesms .glide .cache .StreamFactoryGifDecoder ;
4848import org .thoughtcrime .securesms .glide .cache .WebpSanDecoder ;
4949import org .thoughtcrime .securesms .stickers .StickerRemoteUri ;
5050import org .thoughtcrime .securesms .stickers .StickerRemoteUriLoader ;
@@ -72,28 +72,24 @@ public void registerComponents(@NonNull Context context, @NonNull Glide glide, @
7272
7373 registry .prepend (InputStream .class , new EncryptedCacheEncoder (secret , glide .getArrayPool ()));
7474
75- registry .prepend (File .class , Bitmap .class , new EncryptedCacheDecoder <>(secret , new StreamBitmapDecoder (context , glide , registry )));
75+ registry .prepend (File .class , Bitmap .class , new EncryptedCacheDecoder <>(secret , new StreamBitmapDecoder (new Downsampler ( registry . getImageHeaderParsers (), context . getResources (). getDisplayMetrics () , glide . getBitmapPool (), glide . getArrayPool ()), glide . getArrayPool () )));
7676
77- StreamGifDecoder streamGifDecoder = new StreamGifDecoder (registry .getImageHeaderParsers (), new ByteBufferGifDecoder (context , registry .getImageHeaderParsers (), glide .getBitmapPool (), glide .getArrayPool ()), glide .getArrayPool ());
78- StreamFactoryGifDecoder streamFactoryGifDecoder = new StreamFactoryGifDecoder (streamGifDecoder );
77+ StreamGifDecoder streamGifDecoder = new StreamGifDecoder (registry .getImageHeaderParsers (), new ByteBufferGifDecoder (context , registry .getImageHeaderParsers (), glide .getBitmapPool (), glide .getArrayPool ()), glide .getArrayPool ());
7978 registry .prepend (InputStream .class , GifDrawable .class , streamGifDecoder );
80- registry .prepend (InputStreamFactory .class , GifDrawable .class , streamFactoryGifDecoder );
8179 registry .prepend (GifDrawable .class , new EncryptedGifDrawableResourceEncoder (secret ));
8280 registry .prepend (File .class , GifDrawable .class , new EncryptedCacheDecoder <>(secret , streamGifDecoder ));
8381
8482 EncryptedBitmapResourceEncoder encryptedBitmapResourceEncoder = new EncryptedBitmapResourceEncoder (secret );
8583 registry .prepend (Bitmap .class , new EncryptedBitmapResourceEncoder (secret ));
8684 registry .prepend (BitmapDrawable .class , new BitmapDrawableEncoder (glide .getBitmapPool (), encryptedBitmapResourceEncoder ));
8785
88- ByteBufferApngDecoder byteBufferApngDecoder = new ByteBufferApngDecoder ();
89- StreamApngDecoder streamApngDecoder = new StreamApngDecoder (byteBufferApngDecoder );
90- StreamFactoryApngDecoder streamFactoryApngDecoder = new StreamFactoryApngDecoder (byteBufferApngDecoder , glide , registry );
86+ ByteBufferApngDecoder apngBufferCacheDecoder = new ByteBufferApngDecoder ();
87+ StreamApngDecoder apngStreamCacheDecoder = new StreamApngDecoder (apngBufferCacheDecoder );
9188
92- registry .prepend (InputStream .class , APNGDecoder .class , streamApngDecoder );
93- registry .prepend (InputStreamFactory .class , APNGDecoder .class , streamFactoryApngDecoder );
94- registry .prepend (ByteBuffer .class , APNGDecoder .class , byteBufferApngDecoder );
89+ registry .prepend (InputStream .class , APNGDecoder .class , apngStreamCacheDecoder );
90+ registry .prepend (ByteBuffer .class , APNGDecoder .class , apngBufferCacheDecoder );
9591 registry .prepend (APNGDecoder .class , new EncryptedApngCacheEncoder (secret ));
96- registry .prepend (File .class , APNGDecoder .class , new EncryptedCacheDecoder <>(secret , streamApngDecoder ));
92+ registry .prepend (File .class , APNGDecoder .class , new EncryptedCacheDecoder <>(secret , apngStreamCacheDecoder ));
9793 registry .register (APNGDecoder .class , Drawable .class , new ApngFrameDrawableTranscoder ());
9894
9995 registry .prepend (BlurHash .class , Bitmap .class , new BlurHashResourceDecoder ());
@@ -102,8 +98,7 @@ public void registerComponents(@NonNull Context context, @NonNull Glide glide, @
10298 registry .append (StoryTextPostModel .class , StoryTextPostModel .class , UnitModelLoader .Factory .getInstance ());
10399 registry .append (ConversationShortcutPhoto .class , Bitmap .class , new ConversationShortcutPhoto .Loader .Factory (context ));
104100 registry .append (ContactPhoto .class , InputStream .class , new ContactPhotoLoader .Factory (context ));
105- registry .append (DecryptableUri .class , InputStreamFactory .class , new DecryptableUriStreamLoader .Factory (context ));
106- registry .append (InputStreamFactory .class , Bitmap .class , new InputStreamFactoryBitmapDecoder (context , glide , registry ));
101+ registry .append (DecryptableUri .class , InputStream .class , new DecryptableStreamUriLoader .Factory (context ));
107102 registry .append (ChunkedImageUrl .class , InputStream .class , new ChunkedImageUrlLoader .Factory ());
108103 registry .append (StickerRemoteUri .class , InputStream .class , new StickerRemoteUriLoader .Factory ());
109104 registry .append (BlurHash .class , BlurHash .class , new BlurHashModelLoader .Factory ());
0 commit comments