Commit Graph

818 Commits

Author SHA1 Message Date
Jorge Martin Espinosa a10734de02 Simplify message composer layout (#4884)
Co-authored-by: ElementBot <android@element.io>
2025-06-24 14:05:28 +02:00
Benoit Marty 004863208a Merge pull request #4923 from element-hq/feature/bma/spaceAvatar2
Iterate on avatar to be able to render Space avatar Part2
2025-06-24 12:05:59 +02:00
renovate[bot] 342aae624a fix(deps): update dependency org.robolectric:robolectric to v4.15.1 (#4911)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-06-24 11:06:45 +02:00
Benoit Marty b8f22fc3eb Space avatar rounded corner has radius of 25% of the width. 2025-06-24 11:00:53 +02:00
Benoit Marty 6cbed45acf Move internal elements to internal package. 2025-06-24 09:12:12 +02:00
Benoit Marty 6161e20f6c Replace values() by entries 2025-06-24 09:08:15 +02:00
Benoit Marty 8281a9d8ce Quality 2025-06-24 09:06:39 +02:00
Benoit Marty 69ceceab41 Fix regression on preview. 2025-06-24 09:06:29 +02:00
Benoit Marty 57ffa2615c Improve preview of AvatarCluster to show all types. 2025-06-23 22:16:06 +02:00
Benoit Marty abd92d05d4 Avoid potential infinite loop. 2025-06-23 21:56:20 +02:00
Benoit Marty 14bb7d3bd1 Provide avatarShape: Shape instead of AvatarType to sub composable functions 2025-06-23 21:51:56 +02:00
Benoit Marty 9e65b7fa63 Extract subcomposable InitialOrImageAvatar 2025-06-23 21:45:59 +02:00
Benoit Marty 52ad634504 Remove default param for Avatar.avatarType 2025-06-23 21:36:53 +02:00
Benoit Marty 63d8d9b09e Remove default param for AvatarCluster.avatarType 2025-06-23 21:27:40 +02:00
Benoit Marty b36f68b8c4 SpaceAvatar can be internal 2025-06-23 21:25:23 +02:00
Benoit Marty 0cc11ba626 Cleanup code rework by IDE. 2025-06-23 21:24:40 +02:00
Benoit Marty a676d5fae1 Extract UserAvatar to its own file. 2025-06-23 21:24:03 +02:00
Benoit Marty 2bcffe80de Let AvatarType be the receiver of avatarShape() 2025-06-23 18:34:52 +02:00
Benoit Marty 59aec12906 Move isTombstoned to AvatarType.Space 2025-06-23 18:33:42 +02:00
Benoit Marty e202fbfbd9 AvatarType is Immutable. 2025-06-23 18:03:53 +02:00
Benoit Marty dddf046b43 Extract ImageAvatar and InitialLetterAvatar to their own files. 2025-06-23 18:02:34 +02:00
Benoit Marty 2ac94f2827 Cleanup 2025-06-23 17:57:44 +02:00
Benoit Marty 3669128e60 Introduce AvatarType to be able to render space avatars 2025-06-23 17:08:14 +02:00
ganfra 2a865e6f4b change (room avatar) : replace modifier.requiredSize by modifier.size 2025-06-18 13:39:46 +02:00
ganfra 68e7406ba6 change (room avatar) : fix AvatarClusterPreview 2025-06-18 12:53:27 +02:00
ganfra 780339c584 change (room avatar) : add preview for TombstonedRoomAvatar 2025-06-18 12:29:47 +02:00
ganfra 3cf236907b change (room avatar) : clean code related to room name/avatar 2025-06-17 20:37:41 +02:00
ganfra f11a023b87 change (room avatar) : delete CompositeAvatar 2025-06-17 10:37:07 +02:00
ganfra 451579594e change (room avatar) : introduce RoomAvatar and AvatarCluster to replace CompositeAvatar 2025-06-17 10:37:07 +02:00
ganfra 6c034b4fb7 change (room avatar) : use TextAvatar from TombstonedRoomAvatar 2025-06-17 10:37:06 +02:00
ganfra 700c839c7e change (room avatar) : use TextAvatar from InitialLetterAvatar 2025-06-17 10:37:06 +02:00
ganfra a8cc2d22bd change (room avatar) : introduce TextAvatar component 2025-06-17 10:37:06 +02:00
ganfra e2b1ab2632 Merge branch 'develop' into feature/fga/room-version-upgrade 2025-06-16 20:46:28 +02:00
ganfra ad6e405718 feature (room upgrade) : revert ComposerAlertMolecule preview 2025-06-12 11:09:17 +02:00
Benoit Marty f28df4389f Remove ExperimentalComposeUiApi. Not necessary anymore. 2025-06-11 17:49:11 +02:00
ganfra 88573fd2ae Merge branch 'develop' into feature/fga/room-version-upgrade 2025-06-11 16:30:21 +02:00
Benoit Marty f68b411659 Annotate Composable function with ReadOnlyComposable where it's possible. (#4859) 2025-06-11 14:12:54 +02:00
ganfra e8bc54cf9e feature (room upgrade) : manage navigation and clean code. 2025-06-11 13:32:12 +02:00
ganfra 7b75a52ca2 feature (room upgrade) : start rendering SuccessorRoom and PredecessorRoom banners in timeline 2025-06-11 10:46:39 +02:00
renovate[bot] 03b801094b fix(deps): update coil to v3.2.0 (#4712)
* fix(deps): update coil to v3.2.0

* Fix compilation issue. Need to provide an image for preview.

https://coil-kt.github.io/coil/compose/#previews

* Improve preview for images.

* Update screenshots

* More cleanup

* Update screenshots

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
Co-authored-by: ElementBot <android@element.io>
2025-06-05 09:49:27 +02:00
renovate[bot] 7bb1e24ff5 fix(deps): update dependency androidx.compose:compose-bom to v2025.04.01 (#4631)
* fix(deps): update dependency androidx.compose:compose-bom to v2025.04.01

* Fix autofill deprecations

* Adapt our custom BottomSheetState and scaffold to the new APIs

* Get rid of all the custom bottom sheet implementation

It doesn't seem to be needed anymore 🎉

* Replace `semantics { invisibleToUser() }`  with `hideFromAccessibility()`

* Update screenshots

* Add commit and cancel callbacks for autofill on the login view

* Fix broken tests caused mainly by https://issuetracker.google.com/issues/366255137

Add `LocalUiTestMode` composition local and helper functions.

* Remove dependency that caused a new license to need to be approved

* Let setSafeContent handle setting the value for LocalUiTestMode

* Fix broken test

* Apply fix to RoomMemberModerationViewTest and RoomListDeclineInviteMenuTest

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
Co-authored-by: ElementBot <android@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2025-06-03 21:05:43 +00:00
Jorge Martin Espinosa e02053d85e Make sure HeaderFooterPage can contents be scrolled (#4704)
Co-authored-by: ElementBot <android@element.io>
2025-06-02 14:28:46 +02:00
renovate[bot] 5ed2e92801 fix(deps): update lifecycle to v2.9.0 (#4693)
* fix(deps): update lifecycle to v2.9.0

* Remove unused code.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2025-05-09 09:55:35 +00:00
renovate[bot] 5fb0fc0d50 fix(deps): update android.gradle.plugin to v8.10.0 (#4687)
* fix(deps): update android.gradle.plugin to v8.10.0

* Update lint version to 8.11.0-alpha09

* Fix lint false positive.

Error: Modifier factory functions must use the receiver Modifier instance [ModifierFactoryUnreferencedReceiver from androidx.compose.ui]

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2025-05-07 11:07:20 +02:00
Benoit Marty f6fe5fda35 Cleanup element call and UI (#4641)
* Use ElementTheme.colors.bgCanvasDefault instead of MaterialTheme.colorScheme.background

Even if the value is the same, we should use color from ElementTheme.

* Remove background management of ElementCallActivity. It does not work as expected and also changing theme during a call would require to load the url again with the new theme.

* Do not use isSystemInDarkTheme() directly.

* Use bgSubtleSecondary for background color of Preview.

* Use default colors for Preview.

* Fix copy paste issue.

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-04-25 17:30:54 +02:00
Benoit Marty add03ab33a Render caller avatar on Incoming call screen (#4635)
* Ensure that the image loader is set, else the IncomingCallActivity will not be able to render the avatar.

Fixes #4633

* Add background color to OnboardingBackground

Fixes #4629

* Trigger CI
2025-04-24 21:32:46 +00:00
Benoit Marty 2ca541936f Accessibility: improve behavior of list items (#4626)
* a11y: add Modifier to improve accessibility of ListItems.

Remove duplication of onChange. As per the documentation, it has to be used only if the behavior is different than the onClick listener of the list item.
It also has the effect to read twice the action when the screen reader is one. See https://github.com/element-hq/element-x-android/pull/4047#discussion_r1888136571 for more details

a11y: remove contentDescription on List item icon, else the text is read twice.

* Ensure that if the ListItem is not enabled, the trailing/leading content is also not enabled.

* Update screenshots

* Fix lint crash.

---------

Co-authored-by: ElementBot <android@element.io>
2025-04-24 21:53:21 +02:00
Benoit Marty bacfa09916 [a11y] Make more items focusable (#4605)
* Fix settings entry point not available when there is no avatar on the account. Fixes #4599.

* Use Ktx extension `String.toUri()`

* Allow screen reader to focus on the user avatar to allow editing it.

* Fix import order
2025-04-22 08:50:50 +02:00
Jorge Martin Espinosa 740c28eda9 Improve accessibility of the timeline (#4579)
* Make whole messages selectable and readable as a single unit when possible.
* Make most UI components not clickable when talkback is enabled.
* Make voice messages work with talkback too.
* Read grouped state events even if the events are collapsed.
* Move image and video item actions to the timeline item.
* Improve accessibility in the message context menu too
* Fix a11y issue on add attachment button.
* Add `contentDescription` to file icon so it's read aloud

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
2025-04-15 15:28:29 +00:00
ganfra a4fcc476d1 change (preferences) : use PreferenceDropdown for appearance (and add some tests) 2025-04-11 17:09:31 +02:00