* 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>
* Add support for starting verification of a user
* Add support for replying to incoming user verification requests
* Add reset recovery key button and previews to `ChooseSelfVerificationModeView`
* Add 'Profile' item in room details screen
* Update screenshots
* Remove `showDeviceVerifiedScreen` parameter from `NavTarget.UseAnotherDevice`
* Allow exiting the FTUE flow, which will close the app. The previous state will be restored when the app is reopened.
* When outgoing verification fails, move to the `Canceled` state. Then, when resetting the state machine state also reset the verification service.
---------
Co-authored-by: ElementBot <android@element.io>
Create `LinkfierHelper` and post-process URLSpans added to make sure they honor the actual URLs in text by removing unnecessarily added trailing punctuation.
* fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25
* Adapt to SDK changes:
- Remove logic related to sliding sync proxy, leaving just the minimum needed to detect its usage on the current session data.
- Remove code associated with the opt-in migration to native sliding sync, since it's now mandatory.
- Remove toggle between proxy/native sliding sync.
- Some fixes to session verification API breaks.
* Update forced logout dialog message, remove `NativeSlidingSyncMigrationBanner`
* Update screenshots
* Update all strings
* Remove `SuccessfulLogoutPendingAction`
---------
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>