Commit graph

12 commits

Author SHA1 Message Date
Jorge Martin Espinosa
a170d80cb3 Add media file limit size warning and media quality selection (#5131)
* Add `VideoCompressorPreset` enum

This represents the different compression presets used for processing videos before uploading them

* Add `VideoCompressorHelper` util class to calculate the scaled output size of the video given an input size and its optimal bitrate

Also add `MediaOptimizationConfig` which will be used to decide how to apply compression in `MediaPreProcessor`

* Add `RustMatrixClient.getMaxFileUploadSize()` function and `MaxUploadSizeProvider` so we can import only this functionality into other components

* Try preloading the max file upload size the first time we get network connectivity - it's a best effort

This should help ensure we'll have this value available later, even if we still need to load it asynchronously.

* Split the `compressMedia` preference into `compressImages` and `compressMediaPreset`

* Modify the media processing parts to use the new classes and utils

* Add `MediaOptimizationSelectorPresenter`, which will retrieve the compression values and the max file upload size, also estimating the compressed video file sizes if needed.

* Add a feature flag to allow selecting the media upload quality per upload

* Integrate the previous changes with the attachments preview screen

Add strings from localazy too.

* Adapt the rest of the app calls to upload media to using the media optimization configs

* Allow modifying the default compression values in advanced settings, based on the feature flag value

* Pass the `fileSize` in `MediaUploadInfo` too, to be able to check it against the `maxUploadSize`

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-08-11 17:22:46 +02:00
Benoit Marty
1e3c0f319a Un-deprecate screen_room_retry_send_menu_send_again_action and sync string again. 2024-06-11 14:35:46 +02:00
bmarty
57510316ec Sync Strings from Localazy 2024-06-10 00:17:04 +00:00
bmarty
f501f27d27 Sync Strings from Localazy 2024-06-03 00:24:07 +00:00
Benoit Marty
75f1d2fdc0 Run ./tools/localazy/downloadStrings.sh --all 2024-04-02 18:12:36 +02:00
bmarty
1e334891ab Sync Strings from Localazy 2024-04-01 00:17:18 +00:00
Benoit Marty
c881ea95bf Run ./tools/localazy/downloadStrings.sh --all after some key renaming on Localazy. 2024-03-13 09:56:31 +01:00
Benoit Marty
d05a6541f6 Run ./tools/localazy/downloadStrings.sh --all after config change. 2024-03-12 16:25:48 +01:00
bmarty
0c0c36c393 Sync Strings from Localazy 2024-03-12 13:54:03 +00:00
bmarty
7fd358166d Sync Strings from Localazy 2024-02-28 11:33:05 +00:00
Benoit Marty
c746a0acc5 Sync Localazy strings - including post treatment.
./tools/localazy/downloadStrings.sh --all
2024-02-23 17:45:22 +01:00
bmarty
7911a26003 Sync Strings from Localazy 2024-02-05 00:09:59 +00:00