* Fix linkification not working for `Spanned` string instead of `Spannable`.
This issue was found as a regression after upgrading the RTE version to `2.37.7`.
* Fix and add tests
* Fix pillification not working for non formatted message bodies
Pure Markdown bodies weren't being 'pillified' so their mentions were turned into UI elements in the timeline.
A new `pillifiedBody` property was added to `TimelineItemTextBasedContent` to fix this.
* Use shorter version of `textWithMentions` computation
* Add centralised 'room is DM' check
Also add extension functions for `MatrixRoom` and `MatrixRoomInfo`.
* Use the centralised method and extension functions through the app, including:
- Room list.
- Room details screen.
- Invites.
- Notifications.
Replace most `isDirect` usages with `isDm`.
* Update screenshots
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
* Update dependency org.matrix.rustcomponents:sdk-android to v0.2.31
* Use new Rust client side sorting API
* Make `RoomListEntriesUpdate.describe()` an extension function
* Remove `RoomListSummary.Filled` and `RoomListSummary.Empty`
* Fix icon sizes to pass the lint checks
* Update screenshots
---------
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 <benoitm+elementbot@element.io>
* Use ComposablePreviewScanner to rework how screenshot testing works
* Add test sharding
* Update screenshots
* Fixes for Element Gallery
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
- Removed `StaticFeatureFlagProvider`.
- Always provide `PreferencesFeatureFlagProvider`.
- For the default values of feature flags, use a lambda with a `BuildMeta` parameter so we can customize the return value based on its data.
* Use the new SDK version
* Adapt the authentication service to the new Rust SDK APIs
* Remove `Timeline.enterSpecialMode(...)` as it's no longer necessary
Instead of drawing a circle with the same color of the background behind the avatar, properly clear the top start corner of the bubble using `CompositingStrategy.Offscreen` and `BlendMode.Clear`.
* Resolve display names in mentions in real time
* Use `LocalRoomMemberProfilesCache` to avoid having to implement `TextMessagePresenter`
* Also use local composition provider for `MentionSpanProvider`
* Add full screen intent permissions banner, creating `:libraries:fullscreenintent` modules.
* Add it to notification settings too:
- Create `libraries:fullscreenintent` modules for the permission presenter and associated data.
- Add the presenter and states to `NotificationSettingsPresenter` and `NotificationSettingsView`.
* Use the right API to check for full screen intent permissions.
- Use the right package name for `:libraries:permission` contents.
* Fix broken tests (flaky?)
* Ignore coverage verification for fake and small presenters
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>