Move and refactor MatrixUser
Instead of living in matrixui and having an AvatarData, this can
reside in the matrix module and just have the URL. An extension
method in matrixui can then provide the AvatarData when required.
This removes some small duplication, and pushes the UI-specific
information (i.e., what size of avatar is going to be rendered)
further down the stack. It also aligns the field names with those
used by the rust SDK (e.g. "displayName" instead of "userName").
* Screenshot tests changes:
- Group components for Showkase.
- Set special Paparazzi config for scrolling screens using non null `Preview.heightDp`.
- Add merged theme preview with `ElementThemedPreview` component.
* Design fixes for room detail, dm & room member detail screens.
* Record new screenshots, improve RoomDetailsStateProvider.
* Move MainActionButton to its own component in the design system.
Adds a CTA on the room list to view invites if there are any.
The invite list presents each invite with accept/decline buttons
and (for room invites) the sender details.
Fixes#102
* Add support for autofilling login text fields
Support autofilling login text fields via Android Autofill with the
experimental AndroidX Compose API for it.
Based on https://bryanherbst.com/2021/04/13/compose-autofill/ (with permission).
Signed-off-by: Hans Christian Schmitz <git@hcsch.eu>
* Move autofill implementation to designsystem library
Signed-off-by: Hans Christian Schmitz <git@hcsch.eu>
---------
Signed-off-by: Hans Christian Schmitz <git@hcsch.eu>
* Implement room member list
* Move timeline initialization back to `TimelinePresenter`.
* Fix crash when the `innerRoom` inside a `RustMatrixRoom` is destroyed but `syncUpdateFlow` is still running.
* Address review comments
* Design fixes.
* Make text in emoji items secondary color and the snackbar duration short again
* Try to make margins smaller on smaller displays
---------
Co-authored-by: Florian Renaud <florianr@element.io>
* Use user friendly error messages in login following iOS logic, fix dialog colors.
* Use `AlertDialogDefaults` for the default properties of dialogs
* Improve Maestro tests with wrong password dialog
* Add tests for error messages