Skip to content

Commit 924eaa4

Browse files
SessionHero01ThomasSessionjbsessiondependabot[bot]mpretty-cyro
authored
Prepare for release 1.32.0 (session-foundation#1985)
* Using a modern media3 player with a foreground service to display a media notification * todos * audio notification tweaks * Using MessageId for message to scroll to * Logic clean up * Loading state tweak * Fixed up some TODOs * New todos * Properly handling notification image * BEtter title and artist logic * Simpler logic * Scrubber in audio message * Better play/pause/scrubbing controls * Remembered state * Better state management * Updated logic * More ui and logic tweaks * Force re-run pro details fetching worker (session-foundation#1872) * UI: Preferences settings Compose (session-foundation#1874) * Initial preferences compose screens * Compose screens * ConversationsPreference screen and VM * Cleanups and qaTag * Cleanup for UIState initial values from prefs * Moved some UI logic to Viewmodel for notificationPrefs * Removed old notificationsprefsFragment * Initial privacy settings Vm, notification prefs VM update * Initial commands * Privacy prefs update * Pref voice calls dialog * Lock app cleanup * refactor basePreferenceScreens * Scroll and ScrollAndToggle added to privacy screen * VM cleanups * imports cleanup * typingIndicator and switch action accept composable * Removed old fragments * Remove unused getter * Flatten ChatsPreferenceScreen * Added a title to the message * [SES-5093] - Fix user not pro during renewal (session-foundation#1877) * Update to latest Gradle (session-foundation#1878) * Update to latest Gradle * Fix tests * Mini player - WIP * SES-4433 : Handle landscape mode (session-foundation#1527) * removed portrait lock for most activities, retained for WebRtcCallActivity * Initial landscape, compact, and flip compatibility * Landing screen initial landscape compat with flip, tablet and phone * QR code activity landscape * Initial layout for Start Conversation sheet * Added Adaptive layout helper * Revert "Initial landscape, compact, and flip compatibility" This reverts commit 20a5fa9. * Use adaptive layout * made sholdUseTwoPane private * removed padding for back button * GiphyActivity initial compose * GiphyFragment compose * GiphyFragment initial kotlin * cleanup * GiphyFragment to kotlin * Cleanup * Converted async task to coroutine * Giphy fragment and sticket to kotlin * Separate compose fun * Start conversation cleanup * cleanup * Cleanup * notif landscape fix * Revert "notif landscape fix" This reverts commit 3cc3ec0. * initial scaling for QR in recovery password * Updated usage of twopane into landscape check only. * Share component for qrPanel * Fixed overlap for 3 button navigation * camera inset in conversation * apply safe inset camera inset * remove portrait mode for webrtccall * cleanup * Media preview insets * Use state for giph loading * Use state for giphyLoading * themed content for tabs * Removed two pane * GiphyActivity converted to kotlin, updated compose usage * Cleanup * A bit of optimization for session netowork's node image * inset for settings screen * token page and conversation settings * App bar search bar insets * WebRtc rotation fix, Landscape xml * contactAvatar webRtc adaptive * refactor adaptiveInfo name * State list drawable landscape * rtc call landscape update * Added insets and updated overlay stub * Serializable data for bottom sheet. Fixed crashes * Fixed landscape scroll for conversation bottomsheet * insets for cameraXfragment * Initial workaround for giphytabs * cleanup * Let activity handle the orientation change * Fixed how web rtc looks on landscape * allow recreation of layout for fragment. Add saveInstance check to prevent duplicate framgnet * Simplified logic * Added to LocalDimensions * cleanups * Filter thread record instead of db call * Cleanup * Removed auto scroll flag from setDeviceOrientation function * Search contact action bottomsheet landscape state expanded * convert calculation into anchor * Narrow width use anchor, helper function to get anchor * Safe insets for start conversation sheet * Dynamic insets if sheet does not fill the width * Update minimum size, fixed box constraints * cleanup * draw on image fix layout * spacing fixes for editing images * fixed constraints for color slider * initial configuration change handling * Revert "initial configuration change handling" This reverts commit 8c9891d. * Made some QR areas scrollable but fit area * conversationv2 landscape layout * Remove landscape hiding the rail * Refactored dimen name * added comments * Fixed rotation value * Removed landscape layout, added rotation to back arrow * Handle onConfigureChanged for WebrtcActivity * Cleanups * Updated inset margine helper to fix home FAB * Initial orientation handling for CameraXFragment * Added CameraXActivity to replace old fragment * Fixed insets for CameraXActivity * Added tiny helper for bottom margin insets * Fixed missing dimen * SDK 36 bump * Updated back handling for activity with fragment * Updated back handling * Video camera landscape adjustment * Updated avatar sizes for portrait and landscape * Navigator to survive config changes, collapsible footer inset * replaced vm with retain * Used retain for navigations, updated insets for debug and pro screens * Fixed leftoever condition * Updated landscape screen for manage group stuff * ManageMembersScreen cleanup and improvements * More cleanups * Updated some remembers to retain * Minor cleanup --------- Co-authored-by: ThomasSession <thomas.r@getsession.org> * Mini player on home screen * Bump androidx.activity:activity-compose from 1.10.1 to 1.12.2 (session-foundation#1825) Bumps androidx.activity:activity-compose from 1.10.1 to 1.12.2. --- updated-dependencies: - dependency-name: androidx.activity:activity-compose dependency-version: 1.12.2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * New util to animate composable content with the data being kept while animating out * Making sure the mini player doesn't hide anything * Fix : Manage members QA pt.4 (session-foundation#1881) * Send control message before exception * Add sorting by accountId when showing new dialogs * cleanup * cleanup for readability * Cleanups * SES-1971 : Enable minification (session-foundation#1566) * Initial proguard and minify * Initial proguard rules, App doesnt crash on start * Conversation and emoji * Some JNI rules * cleanup * Kryo proguard * Cleanup * more rules * added to proguard * added rules to proguard * proguard file cleanup * gradle and proguard cleanup * Cleanup * Gradle cleanup * Huawei warnings * Compile only for huawei * HMS analytics * Fix build error * Updated rules * Added rules, cleanups * Removed misplaced flag * Some rules cleanup * gradle update * Fixed end audio state * Bump io.github.simophin:sqlite-web-viewer from 0.0.3 to 0.2.0 (session-foundation#1604) Bumps [io.github.simophin:sqlite-web-viewer](https://github.com/simophin/sqlite-web-viewer) from 0.0.3 to 0.2.0. - [Release notes](https://github.com/simophin/sqlite-web-viewer/releases) - [Commits](simophin/sqlite-web-viewer@release/0.0.3...release/0.2.0) --- updated-dependencies: - dependency-name: io.github.simophin:sqlite-web-viewer dependency-version: 0.2.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: SessionHero01 <180888785+SessionHero01@users.noreply.github.com> * Bump androidx.core:core-ktx from 1.16.0 to 1.17.0 (session-foundation#1580) Bumps androidx.core:core-ktx from 1.16.0 to 1.17.0. --- updated-dependencies: - dependency-name: androidx.core:core-ktx dependency-version: 1.17.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: SessionHero01 <180888785+SessionHero01@users.noreply.github.com> * Bump net.zetetic:sqlcipher-android from 4.9.0 to 4.13.0 (session-foundation#1883) Bumps [net.zetetic:sqlcipher-android](https://github.com/sqlcipher/sqlcipher-android) from 4.9.0 to 4.13.0. - [Release notes](https://github.com/sqlcipher/sqlcipher-android/releases) - [Commits](sqlcipher/sqlcipher-android@v4.9.0...v4.13.0) --- updated-dependencies: - dependency-name: net.zetetic:sqlcipher-android dependency-version: 4.13.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.jetbrains.kotlinx:kotlinx-serialization-json (session-foundation#1885) Bumps [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) from 1.9.0 to 1.10.0. - [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases) - [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md) - [Commits](Kotlin/kotlinx.serialization@v1.9.0...v1.10.0) --- updated-dependencies: - dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-json dependency-version: 1.10.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Adding audio finished event - used by autoplay * Bump com.huawei.agconnect:agcp from 1.9.4.300 to 1.9.5.300 (session-foundation#1886) Bumps com.huawei.agconnect:agcp from 1.9.4.300 to 1.9.5.300. --- updated-dependencies: - dependency-name: com.huawei.agconnect:agcp dependency-version: 1.9.5.300 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Added the "scroll to audio message" logic * new icons + new mini player style * UI : MediaPickerFolder, MediaPickerItem compose, MediaSendViewModel updates (session-foundation#1887) * removed portrait lock for most activities, retained for WebRtcCallActivity * Initial landscape, compact, and flip compatibility * Landing screen initial landscape compat with flip, tablet and phone * QR code activity landscape * Initial layout for Start Conversation sheet * Added Adaptive layout helper * Revert "Initial landscape, compact, and flip compatibility" This reverts commit 20a5fa9. * Use adaptive layout * made sholdUseTwoPane private * removed padding for back button * GiphyActivity initial compose * GiphyFragment compose * GiphyFragment initial kotlin * cleanup * GiphyFragment to kotlin * Cleanup * Converted async task to coroutine * Giphy fragment and sticket to kotlin * Separate compose fun * Start conversation cleanup * cleanup * Cleanup * notif landscape fix * Revert "notif landscape fix" This reverts commit 3cc3ec0. * initial scaling for QR in recovery password * Updated usage of twopane into landscape check only. * Share component for qrPanel * Fixed overlap for 3 button navigation * camera inset in conversation * apply safe inset camera inset * remove portrait mode for webrtccall * cleanup * Media preview insets * Use state for giph loading * Use state for giphyLoading * themed content for tabs * Removed two pane * GiphyActivity converted to kotlin, updated compose usage * Cleanup * A bit of optimization for session netowork's node image * inset for settings screen * token page and conversation settings * App bar search bar insets * WebRtc rotation fix, Landscape xml * contactAvatar webRtc adaptive * refactor adaptiveInfo name * State list drawable landscape * rtc call landscape update * Added insets and updated overlay stub * Serializable data for bottom sheet. Fixed crashes * Fixed landscape scroll for conversation bottomsheet * insets for cameraXfragment * Initial workaround for giphytabs * cleanup * Let activity handle the orientation change * Fixed how web rtc looks on landscape * allow recreation of layout for fragment. Add saveInstance check to prevent duplicate framgnet * Simplified logic * Added to LocalDimensions * cleanups * Filter thread record instead of db call * Cleanup * Removed auto scroll flag from setDeviceOrientation function * Search contact action bottomsheet landscape state expanded * convert calculation into anchor * Narrow width use anchor, helper function to get anchor * Safe insets for start conversation sheet * Dynamic insets if sheet does not fill the width * Update minimum size, fixed box constraints * cleanup * draw on image fix layout * spacing fixes for editing images * fixed constraints for color slider * initial configuration change handling * Revert "initial configuration change handling" This reverts commit 8c9891d. * Made some QR areas scrollable but fit area * conversationv2 landscape layout * Remove landscape hiding the rail * Refactored dimen name * added comments * Fixed rotation value * Removed landscape layout, added rotation to back arrow * Handle onConfigureChanged for WebrtcActivity * Cleanups * Updated inset margine helper to fix home FAB * Initial orientation handling for CameraXFragment * Added CameraXActivity to replace old fragment * Fixed insets for CameraXActivity * Added tiny helper for bottom margin insets * Fixed missing dimen * SDK 36 bump * Updated back handling for activity with fragment * Updated back handling * Video camera landscape adjustment * Updated avatar sizes for portrait and landscape * Navigator to survive config changes, collapsible footer inset * replaced vm with retain * Used retain for navigations, updated insets for debug and pro screens * Fixed leftoever condition * Initial Media send update * Button visibility state * Updated landscape screen for manage group stuff * ManageMembersScreen cleanup and improvements * More cleanups * Cleanups * Updated some remembers to retain * Minor cleanup * MediaSend update 1 : Moved fragment UI to compose (#4) * Initial MediaPickerFolder and MediaPickerItem compose * Initial fragment changes, ComposeViews and minor VM updates * Fixed wrong flag set * SelectionOverflow error * Updated hardcoded dimensions, other compose changes * Moved most logic to viewmodel * Dimensions file and compose cleanups * initial update to checking permission * Updated paddings and color values * Removed old code, use innerShadow for Box * Selection index text set to white * Removed unused dimensions, updated padding for Grid * Cleanup * UI tweaks * SES-4433 : Handle landscape mode (session-foundation#1527) * removed portrait lock for most activities, retained for WebRtcCallActivity * Initial landscape, compact, and flip compatibility * Landing screen initial landscape compat with flip, tablet and phone * QR code activity landscape * Initial layout for Start Conversation sheet * Added Adaptive layout helper * Revert "Initial landscape, compact, and flip compatibility" This reverts commit 20a5fa9. * Use adaptive layout * made sholdUseTwoPane private * removed padding for back button * GiphyActivity initial compose * GiphyFragment compose * GiphyFragment initial kotlin * cleanup * GiphyFragment to kotlin * Cleanup * Converted async task to coroutine * Giphy fragment and sticket to kotlin * Separate compose fun * Start conversation cleanup * cleanup * Cleanup * notif landscape fix * Revert "notif landscape fix" This reverts commit 3cc3ec0. * initial scaling for QR in recovery password * Updated usage of twopane into landscape check only. * Share component for qrPanel * Fixed overlap for 3 button navigation * camera inset in conversation * apply safe inset camera inset * remove portrait mode for webrtccall * cleanup * Media preview insets * Use state for giph loading * Use state for giphyLoading * themed content for tabs * Removed two pane * GiphyActivity converted to kotlin, updated compose usage * Cleanup * A bit of optimization for session netowork's node image * inset for settings screen * token page and conversation settings * App bar search bar insets * WebRtc rotation fix, Landscape xml * contactAvatar webRtc adaptive * refactor adaptiveInfo name * State list drawable landscape * rtc call landscape update * Added insets and updated overlay stub * Serializable data for bottom sheet. Fixed crashes * Fixed landscape scroll for conversation bottomsheet * insets for cameraXfragment * Initial workaround for giphytabs * cleanup * Let activity handle the orientation change * Fixed how web rtc looks on landscape * allow recreation of layout for fragment. Add saveInstance check to prevent duplicate framgnet * Simplified logic * Added to LocalDimensions * cleanups * Filter thread record instead of db call * Cleanup * Removed auto scroll flag from setDeviceOrientation function * Search contact action bottomsheet landscape state expanded * convert calculation into anchor * Narrow width use anchor, helper function to get anchor * Safe insets for start conversation sheet * Dynamic insets if sheet does not fill the width * Update minimum size, fixed box constraints * cleanup * draw on image fix layout * spacing fixes for editing images * fixed constraints for color slider * initial configuration change handling * Revert "initial configuration change handling" This reverts commit 8c9891d. * Made some QR areas scrollable but fit area * conversationv2 landscape layout * Remove landscape hiding the rail * Refactored dimen name * added comments * Fixed rotation value * Removed landscape layout, added rotation to back arrow * Handle onConfigureChanged for WebrtcActivity * Cleanups * Updated inset margine helper to fix home FAB * Initial orientation handling for CameraXFragment * Added CameraXActivity to replace old fragment * Fixed insets for CameraXActivity * Added tiny helper for bottom margin insets * Fixed missing dimen * SDK 36 bump * Updated back handling for activity with fragment * Updated back handling * Video camera landscape adjustment * Updated avatar sizes for portrait and landscape * Navigator to survive config changes, collapsible footer inset * replaced vm with retain * Used retain for navigations, updated insets for debug and pro screens * Fixed leftoever condition * Updated landscape screen for manage group stuff * ManageMembersScreen cleanup and improvements * More cleanups * Updated some remembers to retain * Minor cleanup --------- Co-authored-by: ThomasSession <thomas.r@getsession.org> * Bump androidx.activity:activity-compose from 1.10.1 to 1.12.2 (session-foundation#1825) Bumps androidx.activity:activity-compose from 1.10.1 to 1.12.2. --- updated-dependencies: - dependency-name: androidx.activity:activity-compose dependency-version: 1.12.2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fix : Manage members QA pt.4 (session-foundation#1881) * Send control message before exception * Add sorting by accountId when showing new dialogs * cleanup * cleanup for readability * Cleanups * SES-1971 : Enable minification (session-foundation#1566) * Initial proguard and minify * Initial proguard rules, App doesnt crash on start * Conversation and emoji * Some JNI rules * cleanup * Kryo proguard * Cleanup * more rules * added to proguard * added rules to proguard * proguard file cleanup * gradle and proguard cleanup * Cleanup * Gradle cleanup * Huawei warnings * Compile only for huawei * HMS analytics * Fix build error * Updated rules * Added rules, cleanups * Removed misplaced flag * Some rules cleanup * gradle update --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: ThomasSession <thomas.r@getsession.org> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: ThomasSession <thomas.r@getsession.org> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Added progress bar to miniplayer and fixed seeking logic state * Update proguard rule and build script (session-foundation#1889) * Message bubble color styling * alpha update * [Automated] Update translations from Crowdin * [Automated] Update translations from Crowdin * Updated scroll logic - unified methods * Added option to choose smooth or not for scroll id * Better scrolling logic * Unifying scroll to bottom with new logic * Update app/src/main/java/org/thoughtcrime/securesms/audio/AudioPlaybackManager.kt Co-authored-by: SessionHero01 <180888785+SessionHero01@users.noreply.github.com> * PR feedback + bounded playback cache thread safe * SES-1785 - do not sync data extraction messages * [Automated] Update translations from Crowdin * wrapping future in coroutine * Fix version data fetcher not working (session-foundation#1899) * Fix version data fetcher not working * Setting constraint on version fetcher * Update getOrConnectController * Fixed tests * Wrong type for refund request * Fix test setup and tidy up IP2Country (session-foundation#1904) * SES-4914 - no call icons for NTS * Update proguard-rules (session-foundation#1906) * SES-4984 - ERcovery back up banner only show after user has 3 convos min * SES-4532 - do not show read status for disappearing incoming messages * SES-5010 - Updated rate dialog * Bump org.robolectric:robolectric from 4.16 to 4.16.1 Bumps [org.robolectric:robolectric](https://github.com/robolectric/robolectric) from 4.16 to 4.16.1. - [Release notes](https://github.com/robolectric/robolectric/releases) - [Commits](robolectric/robolectric@robolectric-4.16...robolectric-4.16.1) --- updated-dependencies: - dependency-name: org.robolectric:robolectric dependency-version: 4.16.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * SES-5174 - do not allwo emoji reaction for non approved contacts * SES-5219- snap to end when scrolling to end of convo * UI : Help Settings Compose (session-foundation#1892) * VM and initial UI * Export button in help * cleanups * Minor cleanup * Updated alignment to Center * UI : Landscape QA fixes (session-foundation#1909) * Edit text does not cover screen, save scroll position state * Run unread reconciliation regardless of savedstate * let it scroll first before db udpate * Removed annimon:streams dependency * cleanup * Merge pull request session-foundation#1916 from session-foundation/ses-4998-contact-pro [SES-4998] - Fix pro not showing on incoming MR * Bump huaweiPushVersion from 6.13.0.300 to 6.13.0.301 (session-foundation#1914) Bumps `huaweiPushVersion` from 6.13.0.300 to 6.13.0.301. Updates `com.huawei.hms:push` from 6.13.0.300 to 6.13.0.301 Updates `com.huawei.hms:availableupdate` from 6.13.0.300 to 6.13.0.301 --- updated-dependencies: - dependency-name: com.huawei.hms:push dependency-version: 6.13.0.301 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.huawei.hms:availableupdate dependency-version: 6.13.0.301 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update app/src/main/java/org/thoughtcrime/securesms/database/MmsDatabase.kt Co-authored-by: SessionHero01 <180888785+SessionHero01@users.noreply.github.com> * PR feedback * Bump daggerHiltVersion from 2.59 to 2.59.1 (session-foundation#1910) Bumps `daggerHiltVersion` from 2.59 to 2.59.1. Updates `com.google.dagger:hilt-android` from 2.59 to 2.59.1 - [Release notes](https://github.com/google/dagger/releases) - [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md) - [Commits](google/dagger@dagger-2.59...dagger-2.59.1) Updates `com.google.dagger:hilt-compiler` from 2.59 to 2.59.1 - [Release notes](https://github.com/google/dagger/releases) - [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md) - [Commits](google/dagger@dagger-2.59...dagger-2.59.1) Updates `com.google.dagger.hilt.android` from 2.59 to 2.59.1 - [Release notes](https://github.com/google/dagger/releases) - [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md) - [Commits](google/dagger@dagger-2.59...dagger-2.59.1) --- updated-dependencies: - dependency-name: com.google.dagger:hilt-android dependency-version: 2.59.1 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.google.dagger:hilt-compiler dependency-version: 2.59.1 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.google.dagger.hilt.android dependency-version: 2.59.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump media3ExoplayerVersion from 1.9.1 to 1.9.2 (session-foundation#1912) Bumps `media3ExoplayerVersion` from 1.9.1 to 1.9.2. Updates `androidx.media3:media3-exoplayer` from 1.9.1 to 1.9.2 - [Release notes](https://github.com/androidx/media/releases) - [Changelog](https://github.com/androidx/media/blob/release/RELEASENOTES.md) - [Commits](androidx/media@1.9.1...1.9.2) Updates `androidx.media3:media3-ui` from 1.9.1 to 1.9.2 - [Release notes](https://github.com/androidx/media/releases) - [Changelog](https://github.com/androidx/media/blob/release/RELEASENOTES.md) - [Commits](androidx/media@1.9.1...1.9.2) Updates `androidx.media3:media3-session` from 1.9.1 to 1.9.2 - [Release notes](https://github.com/androidx/media/releases) - [Changelog](https://github.com/androidx/media/blob/release/RELEASENOTES.md) - [Commits](androidx/media@1.9.1...1.9.2) Updates `androidx.media3:media3-common-ktx` from 1.9.1 to 1.9.2 - [Release notes](https://github.com/androidx/media/releases) - [Changelog](https://github.com/androidx/media/blob/release/RELEASENOTES.md) - [Commits](androidx/media@1.9.1...1.9.2) Updates `androidx.media3:media3-ui-compose` from 1.9.1 to 1.9.2 - [Release notes](https://github.com/androidx/media/releases) - [Changelog](https://github.com/androidx/media/blob/release/RELEASENOTES.md) - [Commits](androidx/media@1.9.1...1.9.2) Updates `androidx.media3:media3-ui-compose-material3` from 1.9.1 to 1.9.2 - [Release notes](https://github.com/androidx/media/releases) - [Changelog](https://github.com/androidx/media/blob/release/RELEASENOTES.md) - [Commits](androidx/media@1.9.1...1.9.2) --- updated-dependencies: - dependency-name: androidx.media3:media3-exoplayer dependency-version: 1.9.2 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: androidx.media3:media3-ui dependency-version: 1.9.2 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: androidx.media3:media3-session dependency-version: 1.9.2 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: androidx.media3:media3-common-ktx dependency-version: 1.9.2 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: androidx.media3:media3-ui-compose dependency-version: 1.9.2 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: androidx.media3:media3-ui-compose-material3 dependency-version: 1.9.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Making sure we display the duration of an audio message right away * SES-4108 - addressing outgoing audio duration in details activity * Idle state needs to remember the chosen playback speed * SES-5213 - MEssage details: File ID should not be the filename but the ID of the file on the server * Started to remove the Optional references * Misc improvement (session-foundation#1923) * Misc improvement * Fix tests * Fix tests * More Optional removal and some kotlin conversion * Bump gradle-wrapper from 9.1.0 to 9.3.1 (session-foundation#1913) Bumps gradle-wrapper from 9.1.0 to 9.3.1. --- updated-dependencies: - dependency-name: gradle-wrapper dependency-version: 9.3.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * More removal * Update Geolite2 Country CSVs (session-foundation#1922) * Update Geolite2 Country DBs * Update IP2CountryTest.kt --------- Co-authored-by: SessionHero01 <180888785+SessionHero01@users.noreply.github.com> Co-authored-by: ThomasSession <thomas.r@getsession.org> * More clnanup * comments * Comments * The new designs have the buttons inverted * PR feedback * Fixed tests * [SES-4612] - Fetch initial config from whole swarm (session-foundation#1928) * Renamed and new pref framework * Error handling * More type of key * Preference storage * Onboarding preferences * Poller logic * Preference cache * Tidy up * Catch cancellation exception Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Ticking more often to get a more precise update time displayed * SES-5221 : Deleted untrusted attachment keeps showing after deletion (session-foundation#1927) * SES-1227 : Split out parentheses from URL - Android (session-foundation#1925) * Updated span trimming logic for links * Use autoLink lib for link detection * Cleanup and added changes from Copilot * Remove jackson related for linkpreview (session-foundation#1931) * Remove jackson related for linkpreview * PR feedback * UI : Compose refactor qa (session-foundation#1934) * qa tag for enable option * Added qaTags for switch * Updated paddings, subtitle font sizes * Set NTS priority as hidden initially when recovering account (session-foundation#1930) * SES-5235 - Giphy models now in kotlinx serialisation * SES-5240 - plurals was not set propely * Remove jackson from a few more places (session-foundation#1935) * Remove jackson from a few more places * PR feedback * Incorrect dialog qaTag * Notification content qaTag * SES-5010 - app review button color swap * Cleaning up unused files * SES-5245 - Fixed file sharing * Deleting unused file * Fix : Link previews (session-foundation#1940) * Converted LinkPreviewUtil to kotlin, Updated link preview URL detection logic * Refactored LinkPreviewUtils to kotlin, used autoLink instead of linkify for previews * Cleanups * Cleanup, ContentProxySafetyInterceptor refactored to kotlin * Cleanups * Converted test to kotlin * Cleanups * Remove jackson from UpdateMessageData (session-foundation#1938) * Remove jackson from a few more places * PR feedback * Remove jackson from UpdateMessageData * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: ThomasSession <thomas.r@getsession.org> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix emoji not being able to send and a crash sending quote * Comment * Remove jackson from emoji and onion request builder (session-foundation#1948) * Remove jackson from emoji * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Tidy up recently used emoji (session-foundation#1955) * Rename .java to .kt * Recent emoji model * Update app/src/main/java/org/thoughtcrime/securesms/logging/PersistentLogger.kt Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: fanchao <dev@fanchao.nz> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Bump kotlinVersion from 2.3.0 to 2.3.10 (session-foundation#1943) Bumps `kotlinVersion` from 2.3.0 to 2.3.10. Updates `org.jetbrains.kotlin:kotlin-test` from 2.3.0 to 2.3.10 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](JetBrains/kotlin@v2.3.0...v2.3.10) Updates `org.jetbrains.kotlin.plugin.serialization` from 2.3.0 to 2.3.10 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](JetBrains/kotlin@v2.3.0...v2.3.10) Updates `org.jetbrains.kotlin.plugin.parcelize` from 2.3.0 to 2.3.10 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](JetBrains/kotlin@v2.3.0...v2.3.10) Updates `org.jetbrains.kotlin.plugin.compose` from 2.3.0 to 2.3.10 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](JetBrains/kotlin@v2.3.0...v2.3.10) --- updated-dependencies: - dependency-name: org.jetbrains.kotlin:kotlin-test dependency-version: 2.3.10 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.jetbrains.kotlin.plugin.serialization dependency-version: 2.3.10 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.jetbrains.kotlin.plugin.parcelize dependency-version: 2.3.10 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.jetbrains.kotlin.plugin.compose dependency-version: 2.3.10 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: SessionHero01 <180888785+SessionHero01@users.noreply.github.com> * Bump org.mockito.kotlin:mockito-kotlin from 6.1.0 to 6.2.3 (session-foundation#1944) Bumps [org.mockito.kotlin:mockito-kotlin](https://github.com/mockito/mockito-kotlin) from 6.1.0 to 6.2.3. - [Release notes](https://github.com/mockito/mockito-kotlin/releases) - [Commits](mockito/mockito-kotlin@v6.1.0...v6.2.3) --- updated-dependencies: - dependency-name: org.mockito.kotlin:mockito-kotlin dependency-version: 6.2.3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: SessionHero01 <180888785+SessionHero01@users.noreply.github.com> * Merge pull request session-foundation#1956 from session-foundation/remove-jackson-kryo Remove remaining of jackson * Bump com.huawei.agconnect:agcp from 1.9.5.300 to 1.9.5.301 (session-foundation#1945) Bumps com.huawei.agconnect:agcp from 1.9.5.300 to 1.9.5.301. --- updated-dependencies: - dependency-name: com.huawei.agconnect:agcp dependency-version: 1.9.5.301 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: SessionHero01 <180888785+SessionHero01@users.noreply.github.com> * Added a safety layer for purchasing pro on the same google account on multiple devices with different session accounts Also bumped gradle * Fix crash when sending out read receipt (session-foundation#1957) Co-authored-by: ThomasSession <thomas.r@getsession.org> * PR feedback * Bump uiTestJunit4Version from 1.10.1 to 1.10.3 (session-foundation#1946) Bumps `uiTestJunit4Version` from 1.10.1 to 1.10.3. Updates `androidx.compose.ui:ui-test-junit4` from 1.10.1 to 1.10.3 Updates `androidx.compose.ui:ui-test-manifest` from 1.10.1 to 1.10.3 --- updated-dependencies: - dependency-name: androidx.compose.ui:ui-test-junit4 dependency-version: 1.10.3 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: androidx.compose.ui:ui-test-manifest dependency-version: 1.10.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: SessionHero01 <180888785+SessionHero01@users.noreply.github.com> * Bump org.assertj:assertj-core from 3.27.6 to 3.27.7 (session-foundation#1947) Bumps [org.assertj:assertj-core](https://github.com/assertj/assertj) from 3.27.6 to 3.27.7. - [Release notes](https://github.com/assertj/assertj/releases) - [Commits](assertj/assertj@assertj-build-3.27.6...assertj-build-3.27.7) --- updated-dependencies: - dependency-name: org.assertj:assertj-core dependency-version: 3.27.7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Updated obfuscated id to the pro key * Fine tune caching policy (session-foundation#1960) * Fine tune caching policy * Fine tune caching policy * Fix crashes when opening attachment (session-foundation#1961) * Making sure some classes don't get removed by R8 * DEfault constructors for Kryo * Better setup * SES-5239 : Media folder missing qa-tags (session-foundation#1963) * added QA tags for mediapicker folder and item * Imports cleanup * Add API name when logging server error (session-foundation#1964) * [Automated] Update translations from Crowdin * Fix a crash on start up (session-foundation#1966) * Optimizing community joining process (session-foundation#1968) * Propagating the location/fileId from received proto data * SES-2568 : Prevent triggering the app version check on test build (session-foundation#1969) * BuildConfig flag for version check. * Enable version check for Release build only * Abstracting debug info * Adding back url * Tweaking poller logic (session-foundation#1972) * The background poller can never start if the user swipe off or force stops the app * [Automated] Update translations from Crowdin * Adding new screen to represent the state of an "in progress" refund * Fix : MediaPicker button flags (session-foundation#1978) * Fixed Launched effect for visibility update * Avoid leaving on selected item changed when multi selecting * Bump version to 1.32.0 * Switching to slider/Material 3 * Updated look * Add option to disable split apk (session-foundation#1988) * Fix dead poller after initial polling times out * Remove all `withTimeout` usage * Update app/src/main/java/org/thoughtcrime/securesms/home/startconversation/newmessage/NewMessageViewModel.kt Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Better debug logs in pollers (session-foundation#1990) * Internally managed coroutine scope for pollers (session-foundation#1991) * Fix clock resync issue (session-foundation#1998) --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: ThomasSession <thomas.r@getsession.org> Co-authored-by: jbsession <jb@getsession.org> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: ThomasSession <171472362+ThomasSession@users.noreply.github.com> Co-authored-by: mpretty-cyro <15862619+mpretty-cyro@users.noreply.github.com> Co-authored-by: Kee Jefferys <kee@loki.network> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: fanchao <dev@fanchao.nz> Co-authored-by: Bilb <1544279+Bilb@users.noreply.github.com>
2 parents 34d5ba1 + 8c5e15f commit 924eaa4

File tree

434 files changed

+250946
-138668
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

434 files changed

+250946
-138668
lines changed

.github/workflows/build_and_test.yml

Lines changed: 57 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ concurrency:
1212
cancel-in-progress: true
1313

1414
jobs:
15-
build_and_test:
15+
build:
1616
runs-on: ubuntu-latest
1717
strategy:
1818
fail-fast: false # Continue with other matrix items if one fails
@@ -22,20 +22,18 @@ jobs:
2222
include:
2323
- variant: 'huawei'
2424
extra_build_command_options: '-Phuawei=1'
25-
- variant: 'play'
26-
run_test: true
2725
steps:
2826
- uses: actions/checkout@v6
29-
with:
30-
submodules: 'recursive'
3127

32-
- name: Cache Gradle
33-
uses: actions/cache@v5
28+
- name: Restore gradle cache
29+
uses: actions/cache/restore@v5
3430
with:
3531
path: |
3632
~/.gradle/caches
3733
.gradle
38-
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', 'gradle.properties') }}-${{ matrix.variant }}
34+
key: ${{ runner.os }}-gradle-dev-${{ matrix.variant }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', 'gradle.properties') }}
35+
restore-keys: |
36+
${{ runner.os }}-gradle-dev-${{ matrix.variant }}-
3937
4038
- name: Set up JDK 21
4139
uses: actions/setup-java@v5
@@ -47,10 +45,15 @@ jobs:
4745
id: build
4846
run: ./gradlew assemble${{ matrix.variant }}${{ matrix.build_type }} ${{ matrix.extra_build_command_options }} --stacktrace
4947

50-
- name: Run unit tests
51-
if: ${{ matrix.run_test == true }}
52-
id: test
53-
run: ./gradlew test${{ matrix.variant }}${{ matrix.build_type }}UnitTest ${{ matrix.extra_build_command_options }}
48+
- name: Save gradle cache
49+
uses: actions/cache/save@v5
50+
# Only save cache on dev
51+
if: github.ref_name == 'dev'
52+
with:
53+
path: |
54+
~/.gradle/caches
55+
.gradle
56+
key: ${{ runner.os }}-gradle-dev-${{ matrix.variant }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', 'gradle.properties') }}
5457

5558
- name: Upload build reports regardless
5659
if: always()
@@ -67,3 +70,45 @@ jobs:
6770
path: app/build/outputs/apk/${{ matrix.variant }}/${{ matrix.build_type }}/*-universal*apk
6871
if-no-files-found: error
6972
compression-level: 0
73+
test:
74+
runs-on: ubuntu-latest
75+
steps:
76+
- uses: actions/checkout@v6
77+
- name: Restore Gradle cache
78+
uses: actions/cache/restore@v5
79+
with:
80+
path: |
81+
~/.gradle/caches
82+
.gradle
83+
key: ${{ runner.os }}-test-dev-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', 'gradle.properties') }}
84+
restore-keys: |
85+
${{ runner.os }}-test-dev-
86+
87+
- name: Set up JDK 21
88+
uses: actions/setup-java@v5
89+
with:
90+
distribution: 'temurin'
91+
java-version: '21'
92+
93+
- name: Build with gradle
94+
id: build
95+
run: ./gradlew testPlayDebugUnitTest --stacktrace
96+
97+
- name: Save gradle cache
98+
uses: actions/cache/save@v5
99+
# Only save cache on dev
100+
if: github.ref_name == 'dev'
101+
with:
102+
path: |
103+
~/.gradle/caches
104+
.gradle
105+
key: ${{ runner.os }}-test-dev-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', 'gradle.properties') }}
106+
107+
- name: Upload build reports regardless
108+
if: always()
109+
uses: actions/upload-artifact@v6
110+
with:
111+
name: test-reports
112+
path: app/build/reports
113+
if-no-files-found: ignore
114+

app/build.gradle.kts

Lines changed: 40 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import java.io.ByteArrayOutputStream
44

55
plugins {
66
alias(libs.plugins.android.application)
7-
alias(libs.plugins.kotlin.android)
87
alias(libs.plugins.kotlin.plugin.serialization)
98
alias(libs.plugins.kotlin.plugin.compose)
109
alias(libs.plugins.kotlin.plugin.parcelize)
@@ -20,14 +19,15 @@ plugins {
2019
}
2120

2221
val huaweiEnabled = project.properties["huawei"] != null
22+
val splitApksEnabled = project.properties["splitApks"] == "true"
2323
val hasIncludedLibSessionUtilProject: Boolean = System.getProperty("session.libsession_util.project.path", "").isNotBlank()
2424

2525
configurations.configureEach {
2626
exclude(module = "commons-logging")
2727
}
2828

29-
val canonicalVersionCode = 442
30-
val canonicalVersionName = "1.31.3"
29+
val canonicalVersionCode = 443
30+
val canonicalVersionName = "1.32.0"
3131

3232
val postFixSize = 10
3333
val abiPostFix = mapOf(
@@ -80,6 +80,14 @@ fun VariantDimension.setAuthorityPostfix(postfix: String) {
8080
buildConfigField("String", "AUTHORITY_POSTFIX", "\"$postfix\"")
8181
}
8282

83+
fun VariantDimension.enableClientVersionCheck(enable: Boolean) {
84+
buildConfigField(
85+
"boolean",
86+
"CHECK_VERSION",
87+
if (enable) "true" else "false"
88+
)
89+
}
90+
8391
kotlin {
8492
compilerOptions {
8593
jvmToolchain(21)
@@ -105,7 +113,7 @@ android {
105113

106114
splits {
107115
abi {
108-
isEnable = !huaweiEnabled
116+
isEnable = splitApksEnabled
109117
reset()
110118
include("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
111119
isUniversalApk = true
@@ -152,9 +160,14 @@ android {
152160

153161
buildTypes {
154162
getByName("release") {
155-
isMinifyEnabled = false
156-
163+
isMinifyEnabled = true
164+
isShrinkResources = true
165+
proguardFiles(
166+
getDefaultProguardFile("proguard-android-optimize.txt"),
167+
file("proguard-rules.pro")
168+
)
157169
devNetDefaultOn(false)
170+
enableClientVersionCheck(true)
158171
enablePermissiveNetworkSecurityConfig(false)
159172
setAlternativeAppName(null)
160173
setAuthorityPostfix("")
@@ -175,6 +188,7 @@ android {
175188

176189
devNetDefaultOn(false)
177190
enablePermissiveNetworkSecurityConfig(true)
191+
enableClientVersionCheck(false)
178192

179193
setAlternativeAppName("Session QA")
180194
setAuthorityPostfix("")
@@ -184,52 +198,49 @@ android {
184198
initWith(getByName("qa"))
185199

186200
devNetDefaultOn(true)
201+
enableClientVersionCheck(false)
187202
setAlternativeAppName("Session AQA")
188203
}
189204

190205
getByName("debug") {
191206
isDefault = true
192-
isMinifyEnabled = false
193207
enableUnitTestCoverage = false
194208
signingConfig = signingConfigs.getByName("debug")
195209

196210
applicationIdSuffix = ".${name}"
197211
enablePermissiveNetworkSecurityConfig(true)
198212
devNetDefaultOn(false)
213+
enableClientVersionCheck(false)
199214
setAlternativeAppName("Session Debug")
200215
setAuthorityPostfix(".debug")
201216
}
202217
}
203218

204-
sourceSets {
205-
getByName("test").apply {
206-
java.srcDirs("$projectDir/src/sharedTest/java")
207-
resources.srcDirs("$projectDir/src/main/assets")
208-
}
219+
testBuildType = "debug"
209220

221+
sourceSets {
210222
val firebaseCommonDir = "src/firebaseCommon"
211223
firebaseEnabledVariants.forEach { variant ->
212-
maybeCreate(variant).java.srcDirs("$firebaseCommonDir/kotlin")
224+
maybeCreate(variant).kotlin.directories += "$firebaseCommonDir/kotlin"
213225
}
214226

215227
val nonPlayCommonDir = "src/nonPlayCommon"
216228
nonPlayVariants.forEach { variant ->
217229
maybeCreate(variant).apply {
218-
java.srcDirs("$nonPlayCommonDir/kotlin")
219-
resources.srcDirs("$nonPlayCommonDir/resources")
230+
kotlin.directories += "$nonPlayCommonDir/kotlin"
231+
resources.directories += "$nonPlayCommonDir/resources"
220232
}
221233
}
222234

223235
val nonDebugDir = "src/nonDebug"
224236
nonDebugBuildTypes.forEach { buildType ->
225237
maybeCreate(buildType).apply {
226-
java.srcDirs("$nonDebugDir/kotlin")
227-
resources.srcDirs("$nonDebugDir/resources")
238+
kotlin.directories += "$nonDebugDir/kotlin"
239+
resources.directories += "$nonDebugDir/resources"
228240
}
229241
}
230242
}
231243

232-
233244
signingConfigs {
234245
create("play") {
235246
if (project.hasProperty("SESSION_STORE_FILE")) {
@@ -372,10 +383,20 @@ dependencies {
372383
if (huaweiEnabled) {
373384
val huaweiImplementation = configurations.maybeCreate("huaweiImplementation")
374385
huaweiImplementation(libs.huawei.push)
386+
387+
// These are compileOnly on the Huawei flavor so R8 can resolve optional HMS classes
388+
// referenced by HMS Push during minification.
389+
compileOnly(libs.huawei.hianalytics)
390+
compileOnly(libs.huawei.availableupdate)
375391
}
376392

377393
implementation(libs.androidx.media3.exoplayer)
378394
implementation(libs.androidx.media3.ui)
395+
implementation(libs.androidx.media3.session)
396+
implementation(libs.androidx.media3.common.ktx)
397+
implementation(libs.androidx.media3.ui.compose)
398+
implementation(libs.androidx.media3.ui.compose.material3)
399+
379400
implementation(libs.conscrypt.android)
380401
implementation(libs.android)
381402
implementation(libs.photoview)
@@ -387,11 +408,9 @@ dependencies {
387408
implementation(libs.subsampling.scale.image.view) {
388409
exclude(group = "com.android.support", module = "support-annotations")
389410
}
390-
implementation(libs.stream)
391411
implementation(libs.androidx.sqlite.ktx)
392412
implementation(libs.sqlcipher.android)
393413
implementation(libs.kotlinx.serialization.json)
394-
implementation(libs.jackson.databind)
395414
implementation(libs.okhttp)
396415
implementation(libs.phrase)
397416
implementation(libs.copper.flow)
@@ -470,6 +489,7 @@ dependencies {
470489
implementation(libs.zxing.core)
471490

472491
implementation(libs.androidx.biometric)
492+
implementation(libs.autolink)
473493

474494
playImplementation(libs.android.billing)
475495
playImplementation(libs.android.billing.ktx)

0 commit comments

Comments
 (0)