* When a duplicate room list entry is found, report it and remove it
* Fix tests and fixtures
* Simplify how the updates are described in the Sentry reports
* Allow creating a space with `CreateRoomParameters`
* Add 'Create space' menu item in the spaces home screen. Also, imports new strings related to spaces.
* Link the 'Create space' button with the screen to create the space
* Unify room access and visibility for `ConfigureRoom`, use the updated design
* Fix `EditRoomDetails` avatar size (68dp)
* Replace `EditableAvatarView` and `UnsavedAvatar` copmonents with `AvatarPickerView`
* `AvatarDataFetcherFactory`: Make sure we use a fallback image fetcher when the URL is not an MXC one (a local one, i.e.). This removes the previous need for a separate `UnsavedAvatarView`
* Use `AvatarPickerView` in all the screens where `EditableAvatarView` was used
* Improve naming and previews
* Update strings, remove unused ones for `RoomAccessItem`
* Make `isSpace` part of the `CreateRoomConfig`
* Ensure the content fits in the screenshots for `AvatarPickerSizesPreview`
* Add `AvatarDataFetcherFactoryTest`
* Add new feature flag for creating spaces
* Fix ripple being too large for the `Pick` state
* Tweak margins and section titles a bit
* Add preview for `HomeTopBar` with the spaces case
* Update screenshots
---------
Co-authored-by: ElementBot <android@element.io>
* A11Y: ensure a11y focus is not lost and reset to the back button when the user start playing a pending voice message.
* A11Y: ensure a11y focus is not lost and reset to the back button when the user use the keyboard to focus the send button and press the space bar to perform a click.
* Cleanup code. This if was not necessary.
* Small rework to prepare a bugfix. No behavior / UI change.
* Ensure that the keyboard focus and accessibility focus is not lost when deleting a pending voice message.
* Update screenshots
* Improve code readability.
* Update screenshots
---------
Co-authored-by: ElementBot <android@element.io>
* Add new `FilledTextField` variant using `TextFieldState`
* Use `TextFieldState` for `RoomListSearchState.query` - it seems like this is the best practice for this kind of data
* Bonus: fix the clear button being misaligned
* Add `AnalyticsTransactions` with a set of `TransactionDefinition` items matching those in the user story
* Use that for `AnalyticsLongRunningTransactions`, make sure we send the right fields (name, operation, description)
* Add `AnalyticsSendMessageWatcher` to track how long it takes for an event to be sent and for us to get a call back for that from sync
* Add `Noop` implementation for enterprise
This can't be a false positive like `VerificationState.UNKNOWN` or `VerificationState.UNVERIFIED`, so it makes sense to return it as fast as possible instead of waiting for the whole encryption layer to be fully loaded.