Compare commits

..

179 Commits

Author SHA1 Message Date
Cody Henthorne
068eaff801 Bump version to 8.5.0 2026-03-25 17:02:37 -04:00
Cody Henthorne
e0bb3a48c2 Update translations and other static files. 2026-03-25 16:41:04 -04:00
Alex Hart
f2e4881026 Add underpinnings to allow for local plaintext export.
Co-authored-by: Cody Henthorne <cody@signal.org>
2026-03-25 16:31:10 -04:00
Alex Hart
b605148ac4 Wake lock during restore. 2026-03-25 16:31:10 -04:00
Cody Henthorne
2b9126d74b Update group terminated banner. 2026-03-25 16:31:10 -04:00
Alex Hart
206f6d84e7 Remove size line from backup info. 2026-03-25 16:31:09 -04:00
Greyson Parrelli
01836b3a7c Update emoji to unicode 17. 2026-03-25 16:31:09 -04:00
Michelle Tang
e68691c966 Show final disappearing timer value for collapsed events. 2026-03-25 16:31:09 -04:00
Alex Hart
957f473e77 Ensure we upgrade properly from v1. 2026-03-25 16:31:09 -04:00
Alex Hart
8a023100ea Write backup file timestamp in utc. 2026-03-25 16:31:09 -04:00
Alex Hart
5bfdca509c Fix dark mode on update card. 2026-03-25 16:31:09 -04:00
Tushar Soni
9a837254ec Simplify recipient list truncation in CreateFolderScreen.
Resolves signalapp/Signal-Android#14439
Closes signalapp/Signal-Android#14473
2026-03-25 16:31:09 -04:00
Alex Hart
3f27769d20 Enable new local backup export for external users. 2026-03-25 16:31:09 -04:00
Michelle Tang
4f260c2063 Backfill collapsible messages. 2026-03-25 16:31:09 -04:00
Michelle Tang
75df16e842 Fix collapsing tests. 2026-03-25 16:31:09 -04:00
Michelle Tang
fce6651e26 Fix pinned messages with attachments. 2026-03-25 16:31:09 -04:00
andrew-signal
b06783bc90 Bump to libsignal v0.89.2 2026-03-25 16:31:09 -04:00
Jesse Weinstein
72a1a9b0ff Fix unquoted imports in proto files.
Closes signalapp/Signal-Android#14669
2026-03-25 16:31:09 -04:00
DivyaKhunt07
5568a14490 Fix unexpected keyboard appearance on repeated back swipe.
Resolves signalapp/Signal-Android#14618
Closes signalapp/Signal-Android#14633
2026-03-25 16:31:09 -04:00
Michelle Tang
378ebb00c4 Allow multiselect deleting for collapsed events. 2026-03-25 16:31:09 -04:00
Cody Henthorne
c81f40eb74 Add additional group terminate checks. 2026-03-25 16:31:09 -04:00
Alex Hart
d97bde3959 Update to utilize main activity instead of passthrough. 2026-03-25 16:31:09 -04:00
jeffrey-signal
4d301a4f66 Show conversation settings in the detail pane on large screens. 2026-03-25 16:31:09 -04:00
Alex Hart
9941b2d123 Fix several bugs in the local backup restore flow. 2026-03-25 16:31:09 -04:00
Greyson Parrelli
089d8a50b2 Promote the new APNG renderer to a normal flag. 2026-03-25 16:31:09 -04:00
Greyson Parrelli
eb8ad5218d Filter archived stories from the stories landing page query. 2026-03-25 16:31:09 -04:00
Michelle Tang
21b1401fc4 Update safety number tappable area. 2026-03-25 16:31:09 -04:00
Michelle Tang
58ea9a1f48 Rename collapsed events for 1:1. 2026-03-25 16:31:09 -04:00
Greyson Parrelli
2bb9578ef9 Use sqlite-jdbc for unit tests to enable FTS5 and JSON1 support. 2026-03-25 16:31:09 -04:00
Michelle Tang
c3b8768570 Turn on collapsing chat events for internal users. 2026-03-25 16:31:09 -04:00
Alex Hart
94e3dabc20 Confirm backup location after successful local backup restore. 2026-03-25 16:31:09 -04:00
Jesse Weinstein
542a820e22 Remove UriSerializer typealias -- it is only used in two places 2026-03-25 16:31:09 -04:00
Greyson Parrelli
8f7cc52255 Fix bug around collision detection filtering. 2026-03-25 16:31:09 -04:00
Greyson Parrelli
63888f1c99 Refactor name collision tables to improve perf. 2026-03-25 16:31:09 -04:00
jeffrey-signal
a588522c9b Support navigating back to MainActivity with no conversation selected. 2026-03-25 16:31:09 -04:00
Greyson Parrelli
7a2eca3bd5 Fix all media storage overview performance. 2026-03-25 16:31:09 -04:00
Greyson Parrelli
a8ba0dccca Fix story reply thumbnails. 2026-03-25 16:31:09 -04:00
Greyson Parrelli
782c83cc4e Fix story download bug. 2026-03-25 16:31:09 -04:00
Greyson Parrelli
46e6ae915c Add better loading states for story archive and starred. 2026-03-25 16:31:09 -04:00
Greyson Parrelli
8a887b65a1 Extract base archive classes into their own module. 2026-03-25 16:31:09 -04:00
Greyson Parrelli
08491579dd Add links to the all media view. 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
48374e6950 Add support for starring messages. 2026-03-25 16:31:09 -04:00
jeffrey-signal
6496f236ea Fix secure backups learn more link.
Resolves signalapp/Signal-Android#14657
2026-03-25 16:31:09 -04:00
Alex Hart
e767434c2b Perform StorageServiceRestore on skip if already registered. 2026-03-25 16:31:09 -04:00
Michelle Tang
bb6507a456 Disabled new lines for when statements for ktlint. 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
34d87cf6e1 Warning dialogs for local backup restore. 2026-03-25 16:31:08 -04:00
Greyson Parrelli
e657a4adf3 Guard auto-lower hand behind labs. 2026-03-25 16:31:08 -04:00
jeffrey-signal
9594599d60 Fix unread filter deactivating when scrolling through the conversation list. 2026-03-25 16:31:08 -04:00
Cody Henthorne
a0c0acb8fc Add group terminate support. 2026-03-25 16:31:08 -04:00
Greyson Parrelli
0896718e5c Annotate labs features as such. 2026-03-25 16:31:08 -04:00
Greyson Parrelli
be4bf27ede Remove attachment table JSON join. 2026-03-25 16:31:08 -04:00
Greyson Parrelli
7253aaaa14 Add the ability to filter search by date and author. 2026-03-25 16:31:08 -04:00
jeffrey-signal
72cbe61f6c Prepare conversation fragment navigation for two-pane conversation settings. 2026-03-25 16:31:08 -04:00
Alex Hart
78d3db319c Fix local backup restore AEP handling and conditional re-enable. 2026-03-25 16:31:08 -04:00
Greyson Parrelli
c7a6c7ad9e Minor improvements to SVRB error handling. 2026-03-25 16:31:08 -04:00
Greyson Parrelli
8bc183b994 Fix validation error with session switchover events. 2026-03-25 16:31:08 -04:00
Greyson Parrelli
ef6e5abc17 Add retry logic for camera binding failures. 2026-03-25 16:31:08 -04:00
Greyson Parrelli
e96e6e8d18 Use note to self icon in share sheet. 2026-03-25 16:31:08 -04:00
Greyson Parrelli
cee33a23ac Use transaction when loading logs. 2026-03-25 16:31:08 -04:00
Greyson Parrelli
c5de7581ee Show error message on SN screen when there's no ACI. 2026-03-25 16:31:08 -04:00
Greyson Parrelli
5dc626078f Compress shared contact avatar before launching add-to-contacts intent.
Old way let us use photos that could put us over the 1mb transaction
size limit.
2026-03-25 16:31:08 -04:00
Greyson Parrelli
9de75b3e1f Show groups that have the same member list during group creation. 2026-03-25 16:31:08 -04:00
Greyson Parrelli
f09bf5b14c Make regV5 resumable if the app closes. 2026-03-19 17:13:11 -04:00
Michelle Tang
c7ec3ab837 Bump version to 8.4.1 2026-03-19 17:09:55 -04:00
Michelle Tang
2a7b58bf46 Update baseline profile. 2026-03-19 17:02:55 -04:00
Michelle Tang
7d5b0b1565 Update translations and other static files. 2026-03-19 16:52:44 -04:00
Cody Henthorne
3620db3a92 Make max compressed video size remote configurable. 2026-03-19 16:47:35 -04:00
andrew-signal
69cad04875 Bump to libsignal v0.89.1. 2026-03-19 12:23:30 -04:00
Michelle Tang
d533cdc619 Bump version to 8.4.0 2026-03-18 15:16:15 -04:00
Michelle Tang
ae455d2615 Update baseline profile. 2026-03-18 15:06:42 -04:00
Michelle Tang
7f27e52e58 Update translations and other static files. 2026-03-18 14:57:29 -04:00
Greyson Parrelli
4b10c19569 Validate individual APNG frame dimensions. 2026-03-18 13:30:11 -04:00
Greyson Parrelli
3f7f43d506 Show author of message in search results. 2026-03-18 13:15:49 -04:00
Cody Henthorne
b4296c1e4b Fix name collision clean up bug and flakey test. 2026-03-18 13:15:49 -04:00
Greyson Parrelli
b62b5ea8ef Add ability to open a chat incognito. 2026-03-18 13:15:49 -04:00
jeffrey-signal
db5cced91b Show mark read action on admin-only group notifications for non-admin members. 2026-03-18 13:15:49 -04:00
Michelle Tang
b677827c86 Inline pinned message config. 2026-03-18 13:15:49 -04:00
Alex Hart
fc0e902cbf Parallelize all-files. 2026-03-18 13:15:49 -04:00
jeffrey-signal
6fbf4d4ae6 Fix chevron appearing below the recipient name. 2026-03-18 13:15:49 -04:00
Greyson Parrelli
95149764eb Add a new internal-only 'labs' setting screen. 2026-03-18 13:15:49 -04:00
Cody Henthorne
a37680685f Fix flakey getAndPossiblyMerge test. 2026-03-18 13:15:49 -04:00
Greyson Parrelli
2b163a9acd Add the ability to do an export of a single chat. 2026-03-18 13:15:49 -04:00
Alex Hart
2f41d15a41 Add progress phases for initialization and finalization for local backups. 2026-03-18 13:15:49 -04:00
Greyson Parrelli
d2c8b6e14c Improve the storage controller for regV5. 2026-03-18 13:15:49 -04:00
Alex Hart
6877b9163b Resolve ANR when deleting local backup. 2026-03-18 13:15:49 -04:00
jeffrey-signal
6ee14d5e7c Fix closed conversation reopening after changing the device orientation. 2026-03-18 13:15:49 -04:00
andrew-signal
824ff18ba5 Bump libsignal to 0.88.3 2026-03-18 13:15:49 -04:00
emir-signal
548adb831d Update to RingRTC v2.67.0 2026-03-18 13:15:49 -04:00
Cody Henthorne
501ef69f97 Fix session establishment in message processing benchmark tests. 2026-03-18 13:15:49 -04:00
Cody Henthorne
a62f07db11 Reintroduce preliminary telecom support for 1:1 calling. 2026-03-18 13:15:49 -04:00
Greyson Parrelli
1b6cfe9fc6 Re-order megaphones so backups are above PIN reminders. 2026-03-18 13:15:49 -04:00
Alex Hart
eaa1124e71 Fix voice message waveform only showing activity at the beginning.
Co-authored-by: Greyson Parrelli <greyson@signal.org>
2026-03-18 13:15:49 -04:00
Michelle Tang
380036195a Update deleted string. 2026-03-18 13:15:49 -04:00
andrew-signal
d2619a6abd Use app locale when formatting LocalTime, rather than system locale. 2026-03-18 13:15:49 -04:00
Cody Henthorne
4d2f23ec37 Use libsignal-net for multi-recipient send. 2026-03-18 13:15:49 -04:00
Greyson Parrelli
6c1897d8d5 Add infra for regV5 restore flows. 2026-03-18 13:15:49 -04:00
Greyson Parrelli
39de824bf0 Add quick restore flow and DebugLoggableModel to regV5.
Renames restore → quickrestore package, adds QuickRestoreQrViewModel,
introduces DebugLoggableModel for safe toString in release builds,
updates all State/Events classes to extend it, switches previews to
AllDevicePreviews, and enables BuildConfig for the registration module.
2026-03-18 13:15:49 -04:00
Alex Hart
889ebcadd4 Prevent remove from call button from displaying in group calls.
Co-authored-by: Greyson Parrelli <greyson@signal.org>
2026-03-18 13:15:49 -04:00
Alex Hart
db17d1fd24 Unify backup creation progress model for local backups. 2026-03-18 13:15:48 -04:00
Alex Hart
cc282276c8 Disable proximity sensor during outgoing video call ringing.
Co-authored-by: Greyson Parrelli <greyson@signal.org>
2026-03-18 13:15:48 -04:00
jeffrey-signal
a5e00c4319 Inline the send member labels feature flag. 2026-03-18 13:15:48 -04:00
Alex Hart
dba5252be6 Move fetch of first emission to the observeInAppPaymentRedemption call. 2026-03-18 13:15:48 -04:00
Michelle Tang
874bc1a1c9 Bump version to 8.3.4 2026-03-18 13:12:06 -04:00
Michelle Tang
4b95851ae5 Update translations and other static files. 2026-03-18 13:07:28 -04:00
Greyson Parrelli
fbe907f1e9 Temporarily revert nickname bug to fix potential database churn. 2026-03-18 12:02:43 -04:00
Michelle Tang
cf0157c59d Bump version to 8.3.3 2026-03-17 13:35:15 -04:00
Michelle Tang
8f4dff8d53 Update translations and other static files. 2026-03-17 13:21:27 -04:00
Michelle Tang
1b3fb60cb0 Add more pin message checks. 2026-03-17 11:54:38 -04:00
Michelle Tang
ecbf9d60cb Add back remote deleted column. 2026-03-17 11:53:46 -04:00
jeffrey-signal
117c3ac2db Bump version to 8.3.2 2026-03-16 11:18:10 -04:00
jeffrey-signal
9571215175 Update baseline profile. 2026-03-16 11:06:50 -04:00
jeffrey-signal
754dc8dab4 Update translations and other static files. 2026-03-16 10:49:26 -04:00
Michelle Tang
7caccd341b Add more admin delete checks. 2026-03-13 18:03:42 -04:00
jeffrey-signal
ef6c69a960 Bump version to 8.3.1 2026-03-12 18:04:30 -04:00
jeffrey-signal
e82d11e035 Update baseline profile. 2026-03-12 18:01:28 -04:00
jeffrey-signal
a687fe09ff Update translations and other static files. 2026-03-12 17:54:00 -04:00
jeffrey-signal
d19c536000 Fix about sheet member label emoji not respecting 'use system emoji' preference. 2026-03-12 17:47:02 -04:00
jeffrey-signal
55e029e81d Treat member labels as unset if they can't be decrypted. 2026-03-12 17:33:54 -04:00
Greyson Parrelli
df89f8879d Simplify archiving in chat list, fixing unarchive bug. 2026-03-12 11:51:20 -04:00
jeffrey-signal
2b1db2943c Bump version to 8.3.0 2026-03-11 16:35:07 -04:00
jeffrey-signal
1687f6966b Update baseline profile. 2026-03-11 16:12:45 -04:00
jeffrey-signal
2b685fb42e Update translations and other static files. 2026-03-11 15:48:15 -04:00
jeffrey-signal
73f5a3398c Show warning when group changes would clear member labels. 2026-03-11 15:41:47 -04:00
Alex Hart
35cf24b577 Fix messages not marked as read in split pane mode. 2026-03-11 15:41:46 -04:00
Greyson Parrelli
be920148e7 Copy quotes to the archive as they're received. 2026-03-11 15:41:46 -04:00
Greyson Parrelli
456aaa54f1 Update to SQLCipher 4.13.0 with workaround for FTS issue. 2026-03-11 15:41:46 -04:00
Greyson Parrelli
a872097c31 Update SQLCipher to 4.11.0 to fix FTS issue. 2026-03-11 15:41:46 -04:00
Greyson Parrelli
33c3c48bd5 Make regV5 edge-to-edge. 2026-03-11 15:41:45 -04:00
Greyson Parrelli
cd24691130 Improve welcome bottom sheet UI in regV5. 2026-03-11 15:41:45 -04:00
Cody Henthorne
5d92fb1cc4 Apply body text max length in V2 conversation item to prevent ANR. 2026-03-11 15:41:45 -04:00
Alex Hart
c9e6204a8d Add proper retry for CC Fragment. 2026-03-11 15:41:45 -04:00
Alex Hart
b4ec935762 Fix share sheet ordering.
Co-authored-by: Greyson Parrelli <greyson@signal.org>
2026-03-11 15:41:45 -04:00
Jesse Weinstein
30426ee42a Remove some unused classes.
Resolves signalapp/Signal-Android#14636
2026-03-11 15:41:44 -04:00
Michelle Tang
1a70449c4c Remove remote_deleted column. 2026-03-11 15:41:44 -04:00
jeffrey-signal
374347da04 Inline the receive member labels feaure flag. 2026-03-11 15:41:44 -04:00
Greyson Parrelli
276662026e Fix potential username link desync after backup restore. 2026-03-11 15:41:44 -04:00
Greyson Parrelli
cd3e9a4009 Add some tests for CameraScreenViewModel. 2026-03-11 15:41:44 -04:00
Alex Hart
7fb866fcfb Utilize InAppPaymentTable as the SSOT for ManageDonationsFragment. 2026-03-11 15:41:44 -04:00
adel-signal
d06febd5b5 Update RingRTC to v2.66.0 2026-03-11 15:41:43 -04:00
Michelle Tang
04813fe345 Sync education sheet seen status for admin delete. 2026-03-11 15:41:43 -04:00
Cody Henthorne
6a3d1634b9 Show warning dialog when attempting to save optimized media. 2026-03-11 15:41:43 -04:00
Alex Hart
c554c0d456 Update string resource references from backup key to recovery key. 2026-03-11 15:41:43 -04:00
Greyson Parrelli
e88f63f54d Improve video capture experience when we can't multi-bind. 2026-03-11 15:41:42 -04:00
jeffrey-signal
7ff051a638 Show other group members with labels. 2026-03-11 15:41:42 -04:00
Cody Henthorne
ac9405e874 Fix skiped ktlint checks in qa task. 2026-03-11 15:41:42 -04:00
Jesse Weinstein
d18c5a7fad Exclude duplicate files from the sourcesJar task.
Resolves #14653
2026-03-11 15:41:42 -04:00
Greyson Parrelli
bdc90f3c02 Update SQLCipher to 4.13.0 2026-03-11 15:41:42 -04:00
jeffrey-signal
94e28eddd0 Enforce member label access control and handle insufficient permission error. 2026-03-11 15:41:41 -04:00
jeffrey-signal
6100664287 Show group update messages for member label permission changes. 2026-03-11 15:41:41 -04:00
Cody Henthorne
54aa477b28 Fix local archive attachment data inconsistency bug. 2026-03-11 15:41:41 -04:00
Greyson Parrelli
3c5774960a Automatically reduce camera use cases on error. 2026-03-11 15:41:41 -04:00
Alex Hart
5140c41c58 Move VM setup code from onCreate to onPreCreate in MediaSelectionActivity.kt. 2026-03-11 15:41:41 -04:00
jeffrey-signal
2b9bb3fb5c Support member labels access control in backups. 2026-03-11 15:41:40 -04:00
jeffrey-signal
9500f4a59c Add support for app version-based remote configs. 2026-03-11 15:41:40 -04:00
andrew-signal
a64b77d6f2 Bump to libsignal v0.88.1 2026-03-11 15:41:40 -04:00
Cody Henthorne
4f9e77e7cd Add additional decryption benchmark trace. 2026-03-11 15:41:40 -04:00
jeffrey-signal
13444136bd Introduce new add member labels permission. 2026-03-11 15:41:40 -04:00
Cody Henthorne
7beb4dd939 Allow calling related network calls to run in parallel. 2026-03-09 12:24:14 -04:00
Michelle Tang
51e6ae8f03 Fix cut-off profile picture options. 2026-03-09 12:24:14 -04:00
Cody Henthorne
7aca5f77f6 Consolidate profile update operations to improve large batch fetching. 2026-03-09 12:24:14 -04:00
Cody Henthorne
02ce6c62a8 Add additional thread delete performance improvements. 2026-03-09 12:24:14 -04:00
Cody Henthorne
b0b2c32a6f Prevent main thread posts when unobserved LiveRecipients change. 2026-03-09 12:24:14 -04:00
Michelle Tang
cf7fee2de8 Use shorten display name. 2026-03-09 12:24:13 -04:00
Cody Henthorne
bb730c137f Improve incoming group receipt processing. 2026-03-09 12:24:13 -04:00
Cody Henthorne
da2eb02cde Fix crash for incoming calls when running in private spaces. 2026-03-09 12:24:13 -04:00
Michelle Tang
f271c85aef Update backup support url. 2026-03-09 12:24:13 -04:00
Michelle Tang
bd5f25ffc7 Fix deleting a disappeared message. 2026-03-09 12:24:12 -04:00
Cody Henthorne
3d78d5473e Improve group conversation open performance by prefetching member labels. 2026-03-09 12:24:12 -04:00
Cody Henthorne
49d3f7652d Prevent change animation from firing on thread updates. 2026-03-09 12:24:12 -04:00
Cody Henthorne
5b543c5212 Fix release channel recipient ID surviving failed backup imports. 2026-03-09 12:24:12 -04:00
Greyson Parrelli
2356bb6da2 Fix ScreenDensity calculation. 2026-03-09 12:24:12 -04:00
Cody Henthorne
c2bdc11832 Fix GIF preview not animating after leaving media viewer. 2026-03-09 12:24:11 -04:00
Greyson Parrelli
2bd440e07c Cap the number of incrementalMacs populated in an envelope.
Add a remote config `global.maxIncrementalMacsPerEnvelope` (client
fallback of 10) that limits how many attachment pointers in a single
envelope can have their incrementalMac field populated. Each
incrementalMac can be up to 8 KiB, so having too many risks exceeding
the 96 KiB envelope size threshold. Excess attachment pointers have
their incrementalMac and chunkSize fields stripped.
2026-03-09 12:24:11 -04:00
Greyson Parrelli
6eee4db87b Use stronger alarm signal for exact alarms. 2026-03-09 12:24:11 -04:00
Greyson Parrelli
e7d1db446b Add support for story archiving. 2026-03-09 12:24:11 -04:00
Cody Henthorne
ff50755ba2 Add sealed sender certificate validity constraint to send jobs. 2026-03-09 12:24:10 -04:00
Greyson Parrelli
f8ef262b3d Tweak some backup megaphone strings. 2026-03-09 12:24:10 -04:00
1174 changed files with 48853 additions and 8804 deletions

View File

@@ -20,6 +20,7 @@ ktlint_standard_unnecessary-parentheses-before-trailing-lambda = disabled
ktlint_standard_value-parameter-comment = disabled
ktlint_standard_class-signature = disabled
ktlint_standard_function-expression-body = disabled
ktlint_standard_blank-line-between-when-conditions = disabled
# Disable ktlint on generated source code, see
# https://github.com/JLLeitschuh/ktlint-gradle/issues/746

View File

@@ -24,8 +24,8 @@ plugins {
apply(from = "static-ips.gradle.kts")
val canonicalVersionCode = 1663
val canonicalVersionName = "8.2.2"
val canonicalVersionCode = 1671
val canonicalVersionName = "8.5.0"
val currentHotfixVersion = 0
val maxHotfixVersions = 100
@@ -51,6 +51,7 @@ val localProperties: Properties? = if (localPropertiesFile.exists()) {
null
}
val quickstartCredentialsDir: String? = localProperties?.getProperty("quickstart.credentials.dir")
val benchmarkBackupFile: String? = localProperties?.getProperty("benchmark.backup.file")
val selectableVariants = listOf(
"nightlyProdSpinner",
@@ -91,6 +92,7 @@ wire {
protoPath {
srcDir("${project.rootDir}/lib/libsignal-service/src/main/protowire")
srcDir("${project.rootDir}/lib/archive/src/main/protowire")
}
// Handled by libsignal
prune("signalservice.DecryptionErrorMessage")
@@ -531,6 +533,15 @@ android {
}
variant.sources.assets?.addGeneratedSourceDirectory(taskProvider) { it.outputDir }
}
onVariants(selector().withBuildType("benchmark")) { variant ->
val taskProvider = tasks.register<CopyBenchmarkBackupTask>("copyBenchmarkBackup${variant.name.capitalize()}") {
if (benchmarkBackupFile != null) {
inputFile.set(File(benchmarkBackupFile))
}
}
variant.sources.assets?.addGeneratedSourceDirectory(taskProvider) { it.outputDir }
}
}
val releaseDir = "$projectDir/src/release/java"
@@ -584,6 +595,7 @@ dependencies {
ktlintRuleset(libs.ktlint.twitter.compose)
coreLibraryDesugaring(libs.android.tools.desugar)
implementation(project(":lib:archive"))
implementation(project(":lib:libsignal-service"))
implementation(project(":lib:paging"))
implementation(project(":core:util"))
@@ -603,6 +615,7 @@ dependencies {
implementation(project(":core:models-jvm"))
implementation(project(":feature:camera"))
implementation(project(":feature:registration"))
implementation(project(":lib:apng"))
implementation(libs.androidx.fragment.ktx)
implementation(libs.androidx.appcompat) {
@@ -644,6 +657,7 @@ dependencies {
implementation(libs.androidx.concurrent.futures)
implementation(libs.androidx.autofill)
implementation(libs.androidx.biometric)
implementation(libs.androidx.core.telecom)
implementation(libs.androidx.sharetarget)
implementation(libs.androidx.profileinstaller)
implementation(libs.androidx.asynclayoutinflater)
@@ -736,6 +750,7 @@ dependencies {
testImplementation(testFixtures(project(":lib:libsignal-service")))
testImplementation(testLibs.espresso.core)
testImplementation(testLibs.kotlinx.coroutines.test)
testImplementation(testLibs.sqlite.jdbc)
testImplementation(libs.androidx.compose.ui.test.junit4)
"perfImplementation"(libs.androidx.compose.ui.test.manifest)
@@ -902,3 +917,27 @@ abstract class CopyQuickstartCredentialsTask : DefaultTask() {
chosen.copyTo(dest.resolve(chosen.name), overwrite = true)
}
}
abstract class CopyBenchmarkBackupTask : DefaultTask() {
@get:InputFile
@get:Optional
abstract val inputFile: RegularFileProperty
@get:OutputDirectory
abstract val outputDir: DirectoryProperty
@TaskAction
fun copy() {
val dest = outputDir.get().asFile.resolve("backups")
dest.mkdirs()
if (!inputFile.isPresent) {
logger.lifecycle("benchmark.backup.file is not set in local.properties. Benchmark tests using backup data will crash at runtime.")
return
}
val backupFile = inputFile.get().asFile
logger.lifecycle("Using benchmark backup: ${backupFile.absolutePath} (${backupFile.length() / 1024}KB)")
backupFile.copyTo(dest.resolve("backup.binproto"), overwrite = true)
}
}

Some files were not shown because too many files have changed in this diff Show More