Commit Graph

75 Commits

Author SHA1 Message Date
Cody Henthorne
ce87b50a07 Add create-and-upload to important attachment upload flows.
Co-authored-by: Greyson Parrelli <greyson@signal.org>
2026-03-31 16:20:25 -03:00
Greyson Parrelli
65a30cf2a7 Mark attachment 404's as permanent failures. 2026-02-25 19:38:12 -05: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
471b214b4a Extract Media and TransformProperties to core/util/models. 2026-01-20 15:21:27 -04:00
Cody Henthorne
d9ecab5240 Update local backup v2 support. 2026-01-08 07:39:42 -05:00
jeffrey-signal
109fc7f1fa Update ktlint to 1.5.0. 2025-12-05 09:48:22 -06:00
Greyson Parrelli
706d89db87 Introduce core-models module.
Needed to share some key components with feature modules without having
to depend on libsignal-service.
2025-12-02 16:00:54 -06:00
Alex Hart
1d7ae669b6 Clear out checks for SDK < 23 as they're no longer relevant. 2025-11-05 15:58:44 -05:00
Greyson Parrelli
662404d335 Migrate quotes to have a separate quoteTargetContentType. 2025-09-04 16:35:05 -04:00
Cody Henthorne
21363f085e Add sticker specific restore flow and fix archive related sticker bugs. 2025-08-27 15:55:18 -04:00
Cody Henthorne
150e98bbc1 Fix attachment reconciliation bugs stemming from incorrect base64 encoded remote_key. 2025-08-12 09:57:29 -04:00
Greyson Parrelli
38c8f852bf Do most of the proto and database groundwork for the new mediaName. 2025-06-25 16:14:31 -04:00
jeffrey-signal
cd18db613a Upload large backup attachments using a foreground service. 2025-06-11 12:02:23 -04:00
Cody Henthorne
13ddd067ef Update to latest backup protos; Bump to libsignal v0.73.1 2025-06-04 15:17:36 -04:00
Greyson Parrelli
17216316f6 Dynamically compute MediaName and MediaId. 2025-03-31 14:44:06 -04:00
Jeffrey Starke
0ef627b864 Use AttachmentSaver to save media overview files to device storage. 2025-03-26 13:59:12 -04:00
Jeffrey Starke
0f72c6face Fix missing toast message after write external storage permission is denied while saving an attachment.
`AttachmentSaver` was missing logic to show a toast message after the user denies `WRITE_EXTERNAL_STORAGE` permission.

#### Changeset
- Add missing toast after write external storage permission is denied.
- Add unit test coverage for `AttachmentSaver` result messages.
- Rename `AttachmentSaver` string resource names so they all have the same prefix.
2025-03-26 13:59:12 -04:00
Jeffrey Starke
f0bb74a187 Use AttachmentSaver to save image editor files to device storage. 2025-03-26 13:59:12 -04:00
Jeffrey Starke
247c5de140 Add .compose and .view subpackages to core-ui module. 2025-03-26 13:59:11 -04:00
Jeffrey Starke
c876c7847e Use AttachmentSaver to save story images. 2025-03-26 13:59:11 -04:00
Jeffrey Starke
b9dc5cbe4f Consolidate attachment saving logic into unified AttachmentSaver class.
Introduces `AttachmentSaver` to centralize all of the steps needed to save message attachments to the device storage. It handles the entire workflow including: 
- Showing the save to storage warning/confirmation dialog.
- Requesting `WRITE_EXTERNAL_STORAGE` permission.
- Showing/dismissing media save progress.

Goals of this new class:
- Make it easy to save media attachments anywhere with just a few lines of code (and easier to replace the deprecated `SaveAttachmentTask`).
- Ensure all of the necessary steps are consistently performed at each usage site (which wasn't the case before).
- Make it easier to unit test the save attachment logic.
2025-03-26 13:59:11 -04:00
Greyson Parrelli
754d759d7d Add support for AttachmentBackfill sync messages. 2025-02-18 16:14:40 -05:00
Grzegorz Bobryk
cafbf48783 Move from enum.values() to enum.entries.
Resolves #13767
2024-11-04 09:18:47 -05:00
Grzegorz Bobryk
be92b3cf0a Remove unnecessary force and safe checks.
Resolves #13766
2024-11-04 09:17:30 -05:00
Alex Hart
719ae72270 Add MediaNoLongerAvailable wiring. 2024-10-31 15:29:28 -03:00
Greyson Parrelli
f3a9f7f91d Fix handling of stickers with invalid locators in backups. 2024-09-21 09:59:09 -04:00
Greyson Parrelli
90998a4076 Fix various backup import-export inconsistencies. 2024-09-20 21:14:50 -04:00
Greyson Parrelli
a7bdfb6d76 Add support for backing up wallpapers. 2024-09-20 12:24:57 -04:00
Greyson Parrelli
e80ebd87fe Refactor and simplify attachment archiving. 2024-09-13 10:51:30 -04:00
Cody Henthorne
816006c67e Refactor and cleanup backupv2 media restore. 2024-09-13 10:51:30 -04:00
Greyson Parrelli
4b47d38d78 Add IV to the attachment table. 2024-09-11 15:14:04 -04:00
Greyson Parrelli
5ffb7b07da Update to latest Backup.proto and fix various backup bugs. 2024-08-22 12:58:33 -07:00
Greyson Parrelli
8932eef991 Convert some SignalServiceAttachment* classes to kotlin. 2024-08-08 12:19:01 -07:00
Cody Henthorne
09003d85b1 Add single attachment delete sync. 2024-06-24 15:04:02 -04:00
Cody Henthorne
a2fc710261 Add support for addressing attachments within a message. 2024-06-24 15:04:02 -04:00
Clark
75b41c34ea Add import/export for stickers and sticker packs. 2024-06-24 15:04:02 -04:00
Clark
2a3cb80217 Add ui wiring for archive thumbnail support. 2024-06-05 15:46:00 -04:00
Clark
6069dfc6f8 Add a separate column for tracking thumbnail restore state. 2024-06-05 15:46:00 -04:00
Nicholas Tinsley
bc5cb454bf Ship "instant" video playback. 2024-06-05 15:46:00 -04:00
Clark
b72d586748 Add initial thumbnail restore for message backup. 2024-05-16 10:16:10 -04:00
Greyson Parrelli
a82b9ee25f Add a job to backfill attachment uploads to the archive service. 2024-04-18 16:24:13 -04:00
Clark
5f31f5966c Update backup locator proto. 2024-04-18 16:24:13 -04:00
Clark
689eacd618 Add initial support for backup and restore of message and media to staging.
Co-authored-by: Cody Henthorne <cody@signal.org>
2024-04-18 16:24:13 -04:00
Greyson Parrelli
6df1a68213 Refactor and improve attachment deduping logic. 2024-03-19 14:47:58 -04:00
Cody Henthorne
218964cbda Add archive media apis. 2024-03-06 20:42:01 -04:00
Greyson Parrelli
fe39b5e4e2 Clean up AttachmentTable schema. 2024-01-09 11:12:48 -04:00
Greyson Parrelli
3554f82ea3 Convert AttachmentTable and models to kotlin. 2024-01-09 11:12:48 -04:00
Greyson Parrelli
4fe6d79fff Unify our Base64 utilities. 2023-10-17 11:15:56 -04:00
Nicholas
82956c4149 New attachment download UI. 2023-10-05 19:13:19 -04:00