* When the user is in a v12 room, use different UI to select the last owner when leaving
- Add `LeaveSpaceRoom.areCreatorsPrivileged` to detect when this is happening.
- Import new strings.
- Build the new UI.
- Attach it to a change member roles screen navigation.
* Don't display the `isLastOwner` UI if the user is the only joined one in the room
* Rename `LeaveSpaceState.isLastOwner` to `.needsOwnerChange`. This way, it's easier to understand the difference with the passed `LeaveSpaceRoom.isLastOwner` value
* Add a test for the new check of user not being the last joined member
* Fix paddings in `LeaveSpaceView`
* Update screenshots
---------
Co-authored-by: ElementBot <android@element.io>
Add a decoration to the header for encrypted rooms with `history_visibility:
{shared|public}`.
Fixes: #6070
---------
Co-authored-by: ElementBot <android@element.io>
Co-authored-by: Jorge Martín <jorgem@element.io>
* Add `SpaceService.editableSpaces` and `SpaceService.addChildToSpace`
* Add `parentSpace` to `CreateRoomConfig`
* Allow setting a parent space to a room in `ConfigureRoomPresenter`, make sure the room is added to the parent space when creating it
* `ConfigureRoomPresenter`: Load the list of possible spaces a room can be added to
* Refactor `RoomVisibilityState` to internally use `JoinRuleItem`
This gets rid of `RoomAccess` and `RoomAccessItem`, and it will allow us to map the join rule items in a cleaner way to both join rules and the UI
* Implement the UI changes:
- Display the parent space.
- Allow selecting a new one.
- Import needed strings.
* Fix existing tests
* Add `@Immutable` annotation to `SpaceRoom`, since it was detected as unstable.
Maybe because of `RoomType`?
* Update screenshots
---------
Co-authored-by: ElementBot <android@element.io>
- Make edit button clickable for better touch accessibility
- Hide edit button and erase background when disabled
- Extract interactionSource to share between clickable areas
* Use `MediaPreviewValue.Private` to check if images should be displayed in notifications
Also added `NotificationData.roomJoinRule` so we can use it to check if the room is public or not
* Add logging message for cases when we should have an image uri it turns out we don't
* Add empty state view for `HomeSpacesView`
This links to the create space flow, and has an 'explore public spaces', hidden for now.
* Make sure we display the empty view if the 'create spaces' FF is enabled
Also, remove the tab and navigate to the chats tab if the FF is disabled and the last space is left
* Update screenshots
---------
Co-authored-by: ElementBot <android@element.io>
The EXA side of element-hq/element-meta#2877: if the keys for a message have been forwarded by another user, indicate that in the UI via the text shown when tapping the event shield.