Skip to content

Conversation

@jbsession
Copy link
Collaborator

SES-1971

Initial minification and proguard rules setup.

@jbsession jbsession self-assigned this Oct 1, 2025
@jbsession jbsession marked this pull request as ready for review November 26, 2025 02:41
isDefault = true
isMinifyEnabled = false

isMinifyEnabled = true
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We shouldn't have anything set on debug as it should run without minification and obfuscation

@ThomasSession
Copy link
Collaborator

There are some repeated lines for jackson and a few redundant declarations throughout where -keep already does a lot of the work repeated in other lines.
The overall approach is still very broad so R8 won't be optimising too much as we are mostly keeping everything but it might be hard to optimise further.

getByName("debug") {
isDefault = true
isMinifyEnabled = false
proguardFiles(
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can be removed in debug since we are not using R8 on debug builds

@jbsession jbsession merged commit 7fadd33 into session-foundation:dev Feb 3, 2026
4 checks passed
jbsession added a commit to jbsession/session-android that referenced this pull request Feb 3, 2026
* 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 <[email protected]>

* 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] <[email protected]>
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] <[email protected]>
Co-authored-by: ThomasSession <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
jbsession added a commit that referenced this pull request Feb 3, 2026
…pdates (#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  (#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 <[email protected]>

* Bump androidx.activity:activity-compose from 1.10.1 to 1.12.2 (#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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix : Manage members QA pt.4 (#1881)

* Send control message before exception

* Add sorting by accountId when showing new dialogs

* cleanup

* cleanup for readability

* Cleanups

* SES-1971 : Enable minification (#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] <[email protected]>
Co-authored-by: ThomasSession <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: ThomasSession <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants