Greyson Parrelli
089d8a50b2
Promote the new APNG renderer to a normal flag.
2026-03-25 16:31:09 -04:00
Greyson Parrelli
25b01a30be
Improve memory usage of new APNG renderer by making it streaming.
2026-03-25 16:31:09 -04:00
Greyson Parrelli
c3f9e5d972
Add new APNG renderer, just for internal users for now.
2026-03-25 16:31:08 -04:00
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