Commit graph

101 commits

Author SHA1 Message Date
Benoit Marty
1fe15e7b23 Add Konsist test to check that files do not have double license header.
It seems that sometimes Android Studio is doing this mistake.
2025-08-11 10:36:40 +02:00
Jorge Martin Espinosa
955263bee1 Force last owner of a room to pass ownership when leaving (#5094)
* Move `ChangeRoles*` classes to their own module so they can be shared

* Hook the change roles screen to the leave room action, add confirmation dialogs

* Use enum instead of sealed interface for `ChangeRoomMemberRolesListType`

* Try to improve communications between nodes

* refactor (leave room) : makes sure to expose only necessary code from api module

* Add `:libraries:previewutils` module to share some test fixtures used for UI previews

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
Co-authored-by: ganfra <francoisg@matrix.org>
2025-08-05 17:24:14 +02:00
Benoit Marty
370daea759 Cleanup 2025-07-11 16:19:11 +02:00
Benoit Marty
470ed51758 Add preview for mentions in the context of the timeline. 2025-07-08 18:49:22 +02:00
Benoit Marty
39cf20e686 Fix issue after rebase. 2025-07-07 17:24:58 +02:00
Benoit Marty
bcc01d5007 Apply gradient to focused Event. 2025-07-07 15:03:30 +02:00
Benoit Marty
5541ca7427 Improve Konsist test. 2025-07-07 14:49:09 +02:00
Benoit Marty
ea94ec32b4 Remove bloom effect and replace by linear gradient
Use semantic colors.
2025-07-07 14:49:07 +02:00
Benoit Marty
5de36fcf1b Fix wrong TopAppBar usage 2025-07-04 09:43:30 +02:00
Benoit Marty
7a3db35ccb Rename classes overriding classes from the FFI layer. (#4817)
* Rename classes overriding classes from the FFI layer.

* For other Konsist test.
2025-06-04 16:13:57 +02:00
Benoit Marty
77a7c0b2e5 Remember flows (#4533)
* Add Konsist test to ensure that the result of a function returning a flow is remembered.

* Remember flows before they are collected by state.

* Fix compilation issue

* Make isOnline a val.

* Make selectedUsers() a val.

* Make flow() a val.

* Make getUserConsent(), didAskUserConsent() and getAnalyticsId() some val.

* Remove Timeline.paginationStatus() and replace by direct access to the underlined flow.

* Simplify test

* userConsentFlow must be initialized before because it's used in observeUserConsent

* Fix test compilation
2025-04-04 16:50:43 +02:00
Benoit Marty
a3ce1d484d Replace OutlinedTextField by our TextField (#4521)
* Let TextFieldListItem take the entire width.

* Add unit test to detect usage of OutlinedTextField.

* Use TextField instead of OutlinedTextField

* Remove unnecessary opt in to ExperimentalFoundationApi

* Use TextField instead of OutlinedTextField

* Fix compilation issue.

* Update screenshots

* ListDialog: add space between items.

* Update screenshots

* Set applyPaddingToContents to true by default.

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-04-02 14:04:07 +00:00
Benoit Marty
c65b54d3b7 Improve TextFieldDialog (#4512)
* Extract TextFieldDialog to its own file (no other change).

* Add TextFieldDialogPreview

Enhance TextFieldDialog

* Let RoomMembersModerationView use TextFieldDialog

* Update screenshots

* Konsist.

* Add modifier parameter.

---------

Co-authored-by: ElementBot <android@element.io>
2025-04-02 10:05:56 +02:00
Jorge Martin Espinosa
bb97015e59 Add 'unencrypted room' badges and labels (#4445)
* Add 'unencrypted room' icon and label to composer

* Modify colors for room details screen info labels

* Add exception to Konsist's preview check

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-03-25 11:26:25 +00:00
Jorge Martin Espinosa
d27a61a588 Make verification screens scrollable and emoji labels multiline (#4449)
* Make self verification screens scrollable

* Remove unused fields from `VerificationEmoji`

* Make only the header and content scroll in `HeaderFooterPage`.

* Use the right 'emoji' icon in both flows (`ReactionSolid`)

---------

Co-authored-by: ElementBot <android@element.io>
2025-03-21 12:18:38 +01:00
Benoit Marty
af866e3407 Fix issues reported by Konsist. 2025-03-18 11:35:11 +01:00
Jorge Martin Espinosa
96e34cb8ee Add user verification and verification state violation badges (#4392)
* Move `observeRoomMemberIdentityStateChange` and associated classes to `libs:matrixui` module so they can be reused

* Add `EncryptionService.getUserIdentity` method to retrieve not only if the user is verified or not, but in which state they are

* Fix `IdentityChangePresenter` after the previous changes

* Fix `withFakeLifecycleOwner` and add `testWithLifecycleOwner` helper

* Display verified badge in DM top app bar when possible

* Display a verification violation warning icon next to the 'People' item in room details screen

* Display either a verified badge or a verification violation warning icon next to the room members in the room member list screen

* Display either a verified badge or a verification violation warning and withdraw verification button in the room member profile.

Generic user profiles won't display verification state anymore since we can't easily track changes in it.

* Add preview for room member details screen with verification violation identity state

* Add verified and violation badge to the `Profile` list item in room details screen

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-03-12 12:22:53 +01:00
Benoit Marty
8c65dee61f Add Konsist exception for FocusedEventPreview 2025-03-07 18:48:04 +01:00
Benoit Marty
76ef47e4af Avoid test from failing when the enterprise modules are not present. 2025-02-24 09:32:40 +01:00
Benoit Marty
d23efc3053 Fix Konsist test.
New enterprise module was not correctly detected.
Also ensure that the files are correctly found.
2025-02-20 18:41:11 +01:00
Benoit Marty
e9a9e79b40 Cleanup 2025-01-28 11:33:20 +01:00
Benoit Marty
a1b027a8ab Add exception for Konsist 2025-01-22 16:24:28 +01:00
Benoit Marty
05fc76822a Apply dual licenses: AGPL + Element Commercial to file headers.
2 replace all actions have been performed:
- "SPDX-License-Identifier: AGPL-3.0-only" to "SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial"
- "Please see LICENSE in the repository root for full details." to "Please see LICENSE files in the repository root for full details."
2025-01-07 10:05:04 +01:00
Benoit Marty
52648d2abf Fix quality checks 2025-01-02 08:16:06 +01:00
Benoit Marty
0ed4d34329 Add inline voice player to the files gallery 2024-12-16 11:03:44 +01:00
Benoit Marty
4863195a9a Fix API break in Sealed interface used in Composable MUST be Immutable or Stable 2024-11-26 11:39:33 +01:00
Benoit Marty
6e162f0a44 Fix API break in Fake classes must be named using Fake and the interface it fakes
It seems that the workaround is not necessary anymore.
2024-11-26 11:09:38 +01:00
Benoit Marty
06714dd7f3 Ensure Fake classes must be named using Fake and the interface it fakes is detecting error by adding failing cases. 2024-11-26 10:48:01 +01:00
Benoit Marty
aa7a4e742c Ensure Sealed interface used in Composable MUST be Immutable or Stable is detecting error by adding a failing case. 2024-11-26 10:24:03 +01:00
Benoit Marty
563c0c6233 Merge pull request #3906 from element-hq/feature/bma/minSizeForHiddenMedia
Min size for hidden media
2024-11-21 21:06:19 +01:00
Benoit Marty
57950c0e94 Fix test and rename class to follow naming convention for PreviewParameterProvider. 2024-11-21 15:18:56 +01:00
Benoit Marty
d6ee0846b3 Fix tests 2024-11-21 09:45:27 +01:00
Benoit Marty
070ea820ae Fix Konsist test failing 2024-11-07 20:40:19 +01:00
Benoit Marty
19c56cdbe3 Send caption with media 2024-11-04 14:24:39 +01:00
Valere
371799fdad Bump rust-sdk version to rust-sdk 0.2.57 (#3735)
* Bump rust-sdk version to rust-sdk 0.2.57

* rust sdk update: Support persisted WedgeQueueError

* Trust & Decoration | Support new expected UTD causes

* Room Subscribtion settings not needed anymore (see https://github.com/matrix-org/matrix-rust-sdk/pull/4159)

* File/Attachement upload: update to support `storeInCache`

* feat(knock): update API to use reason and serverNames

* Add another `Konsist` exception

* Update screenshots

---------

Co-authored-by: Jorge Martín <jorgem@element.io>
Co-authored-by: ElementBot <android@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2024-10-24 16:45:16 +02:00
Benoit Marty
89493f870f Merge pull request #3718 from element-hq/feature/bma/verifiedUserBadge
Verified user badge
2024-10-23 14:20:23 +02:00
Benoit Marty
f5edb6d8fd Let IconTitleSubtitleMolecule use BigIcon. 2024-10-22 11:53:30 +02:00
Benoit Marty
86a839ea73 Move RoomBadge to atomic package and rename to MatrixBadge 2024-10-22 10:18:42 +02:00
Benoit Marty
2513ae769f Improve test Classes extending 'PreviewParameterProvider' name MUST end with 'Provider' and MUST contain provided class name 2024-10-16 11:17:45 +02:00
Benoit Marty
da08cc3e08 Fix konsist test. 2024-10-08 11:13:56 +02:00
Benoit Marty
4394b76d07 Konsist: Ensure that Presenter do not depend on other presenters. 2024-10-07 17:45:16 +02:00
Benoit Marty
01b083270a Konsist: Ensure that unit tests are detected 2024-10-07 17:45:15 +02:00
Benoit Marty
a73c8b1e25 Rename hideContent to hideMediaContent 2024-10-04 17:02:03 +02:00
Benoit Marty
eeca2e1f96 Fix test 2024-10-04 17:01:54 +02:00
Jorge Martin Espinosa
4a43fcb69a Use Anvil KSP instead of the Square KAPT one (#3564)
* Use Anvil KSP instead of the Square KAPT one

* Fix several configuration cache, lint and test issues

* Allow incremental kotlin compilation in the CI

* Workaround Robolectric + Compose issue that caused `AppNotIdleException`

* Update the `enterprise` commit hash

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2024-10-02 11:52:17 +00:00
Benoit Marty
46b41ea363 Konsist: implement another workaround. 2024-09-27 12:14:51 +02:00
Benoit Marty
5f27c3ccc3 Konsist: fix compilation issue and implement workaround. 2024-09-27 11:59:32 +02:00
Benoit Marty
35fcb96e47 Adapt Konsist test for Fake Rust classes. 2024-09-18 18:50:54 +02:00
Benoit Marty
776e45d516 Migrate license to AGPL - Update KonsistLicenseTest 2024-09-06 18:02:35 +02:00
Benoit Marty
2b016227e9 Migrate license to AGPL.
Run script `uv run license-editor --repository ../element-x-android`
2024-09-06 17:19:19 +02:00