Commit Graph

42 Commits

Author SHA1 Message Date
Alex Hart
58d2c92102 Move the rest of the permissions classes. 2026-02-11 18:08:57 -05:00
Alex Hart
2aa0b3700f Move blurhash to its own module. 2026-02-02 12:17:16 -04:00
Alex Hart
7bd3482367 Move the org.signal.glide code inside signal-android into lib/glide. 2026-01-31 22:21:40 -05:00
Greyson Parrelli
986923ea6c Move GlideImage into the glide module. 2026-01-28 09:58:54 -04:00
Cody Henthorne
b8c25a4d78 Re-enable large image loading. 2025-08-27 15:55:18 -04:00
Cody Henthorne
cdbe2c1c71 Revert "Disable all fixes for large image loading."
This reverts commit a16ac3394c.
2025-08-27 15:55:18 -04:00
Cody Henthorne
a16ac3394c Disable all fixes for large image loading. 2025-08-25 14:49:44 -04:00
jeffrey-signal
47508495ed Improve organization of glide packages.
Generic image processing classes were scattered alongside Signal-specific Glide code across multiple packages: `org.signal.glide`, `org.thoughtcrime.securesms.glide` and `org.thoughtcrime.securesms.mms`.

This change provides a clearer separation of concerns:
- `org.signal.glide` contains generic image loading components
- `org.thoughtcrime.securesms.glide` contains Signal-specific Glide integrations
- Feature-specific loaders are moved to their respective domain packages (e.g. `.badges`, `.contacts`)
2025-08-21 14:52:33 -04:00
Jeffrey Starke
f919961cb2 StreamFactoryApngDecoder handles PNG types. 2025-08-21 12:18:49 -04:00
jeffrey-signal
d983538122 Fix broken animations for some sticker packs.
Makes a few tweaks to the APNG handling to make sure images of that type are properly identified and decoded by the StreamFactoryApngDecoder.
2025-08-19 20:12:25 -04:00
jeffrey-signal
a2444ffa69 Fix GIF animations.
`StreamBitmapDecoder` was handling GIF images and rendering them as static bitmaps. This change fixes that by adding a `StreamBitmapDecoder` wrapper that returns `handles=false` for images of type GIF and APNG, to enable `StreamFactoryGifDecoder` to decode GIF images.

- Resolves signalapp/Signal-Android#14300
2025-08-18 18:19:29 -04:00
jeffrey-signal
709ff90d35 Fix PNG animations.
Adds an `InputStreamFactory` APNG decoder so images animate correctly when loaded via the new `DecryptableUriStreamLoader`.
2025-08-12 09:56:46 -04:00
jeffrey-signal
1edc94d5ad Dynamically calculate Glide stream mark limit based on device memory.
Replaces the hardcoded `InputStreamRewinder.MARK_READ_LIMIT` with a value that is calculated dynamically based on the device's RAM (scaling the mark read limit linearly between 5 to 8 MB).

A larger limit will avoid unnecessary fail & retries on high-end devices and improve performance.
2025-08-11 13:02:13 -04:00
jeffrey-signal
784a64c353 Fix large image file loading failures.
Replaces `DecryptableStreamUriLoader` with `DecryptableUriStreamLoader`, which addresses `InvalidMarkException` errors that were occurring when loading large image files with Glide. This new model loader provides a more robust approach via multiple fallback mechanisms to try to recover gracefully from errors related to displaying large images.
2025-08-11 13:02:13 -04:00
jeffrey-signal
7d35e685b2 Add Glide Downsampler. 2025-08-06 15:50:16 -04:00
Greyson Parrelli
b6a4e1f145 Rewrite the AppDependencies system. 2024-06-05 15:46:00 -04:00
Nicholas Tinsley
5b7eb9c332 Update libsignal-client to 0.39.2 2024-01-23 11:52:04 -05:00
Cody Henthorne
15afaeabe3 Use WebpSanitizer. 2024-01-23 11:52:04 -05:00
Cody Henthorne
a7d9fd19d9 Enable WebP decoding in Signal using libwebp v1.3.2
Co-authored-by: Greyson Parrelli <greyson@signal.org>
Co-authored-by: Greyson Parrelli <greyson@pop-os.localdomain>
2023-09-22 16:50:20 -03:00
Cody Henthorne
efbd5cab85 Convert SignalService, Database, Group, Payment, and other remaining protos to wire. 2023-09-21 13:59:52 -03:00
Clark
25aa4f39a3 Close input streams on failed resource decryption. 2023-01-25 17:02:41 -05:00
Alex Hart
424a0233c2 Implement refactor to utilize new donation configuration endpoint. 2022-12-07 13:03:02 -05:00
Alex Hart
f50bf3e9c2 Remove blocking get from donation jobs. 2022-08-02 14:36:29 -04:00
Cody Henthorne
ecc358ef40 Consolidate S3 requests into one interface. 2022-05-12 10:42:21 -03:00
Alex Hart
158f77a634 Add thread display body and proper image for gift badges. 2022-05-11 09:29:14 -03:00
Alex Hart
a4a4665aaa Implement badge gifting behind feature flag. 2022-05-02 15:25:55 -04:00
Greyson Parrelli
843ed24bbb Introduce SignalDatabase as the main database entrypoint. 2021-11-18 12:36:52 -05:00
Greyson Parrelli
ae73601f52 Load thumbnails using an asynchronous Glide target. 2021-10-26 17:07:30 -03:00
Alex Hart
8d0acb277c Add support for updated server badge image url formats. 2021-10-04 21:49:59 -04:00
Alex Hart
77cf029fdc Implement ability to view badges and modify whether they appear.
Note: this is available in staging only.
2021-09-23 11:35:21 -03:00
Cody Henthorne
958331a8ea Fix bug with APNGParser over reading larger files and invalidating the stream. 2021-06-08 16:48:10 -04:00
Greyson Parrelli
b053fbc4a7 Use Log.tag where appropriate. 2021-03-31 16:02:32 -03:00
Greyson Parrelli
92b586c061 Disable mass APNG animation on low-memory devices. 2021-01-24 17:40:44 -05:00
Greyson Parrelli
8e93bf9075 Create a core-util module with some common utilities. 2020-12-05 13:44:13 -05:00
Greyson Parrelli
9dc33eff3a Remove thumbnails from the AttachmentDatabase.
Glide can do everything for us now, including video thumbnails.
2020-09-23 16:54:38 -04:00
Greyson Parrelli
250402e9b9 Add support for rendering APNGs. 2020-09-03 20:23:26 -04:00
Greyson Parrelli
6e6105af05 Open up link previews to work with all sites. 2020-08-14 15:54:05 -04:00
Greyson Parrelli
bf919207ed Various logging improvements.
* Improve lifecycle logging.
* Remove 'action bar' from base activity names.
* Remove some unnecessary glide logs.
2020-06-25 08:29:48 -04:00
Greyson Parrelli
711715ca1e Add DNS fallback system. 2020-04-03 12:19:12 -04:00
Greyson Parrelli
e3ea36c76f Remove unnecessary okhttp close when canceling.
Canceling should handle closing stuff now. And if we close from a
different thread than the calling thread, okhttp will crash.
2020-03-26 17:37:51 -04:00
Greyson Parrelli
bdb30ebc48 Set a better User-Agent on requests. 2020-01-27 09:51:00 -05:00
Alan Evans
9ebe920195 Move all files to natural position. 2020-01-06 11:08:30 -05:00