* Set `DmRoomDefinition.TwoPeople` in `ClientBuilder`. This applies the 'direct and with at most 2 non-service members' rule to what the SDK should consider a DM.
* Map `RoomInfo.isDm` from the SDK
* Map `NotificationData.isDm` from `NotificationInfo.roomInfo.isDm`
* Remove `RoomIsDmCheck` file as its extension functions are now redundant. Move `Room.isDm` helper function to `BaseRoom`.
* Map `isDm` in `SpaceRoom` from the SDK too
* Replace `isDirect` with `isDm` where possible
* Map `RoomMember.isServiceMember` from the SDK and use it to tell apart normal members of a room from service members (i.e. `RoomMembersState.getDirectRoomMember`)
* Enable history sharing by default, unconditionally
* Remove feature-flag dep from history viz icons in room header
* Remove feature-flag dep from warning on inviting new people
* Remove feature-flag dep from warning on starting chat with new people
* Remove `enableKeyShareOnInvite` feature flag
* Update screenshots
* Remove redundant `FakeFeatureFlagService()` invocation, per review comment
---------
Co-authored-by: ElementBot <android@element.io>
* Sync Strings from Localazy
* Use the previous plurals as plain strings
* Add extra case for 1 vs multiple users
* Update screenshots
---------
Co-authored-by: Jorge Martín <jorgem@element.io>
* feat: Add confirmation modal when inviting unknown users
* tests: Add preview tests for invite confirmation modal
* tests: Add unit tests for invite confirmation modal
* feat: Switch confirmation sheet contents based on identity state
* tests: Add history sharing unit tests for `DefaultStartDMActionTest`
* tests: Update snapshots for `CreateDmConfirmationBottomSheet`
* chore: Fix tiny nits
* fix: Remove default param on `ConfirmingStartDmWithMatrixUser`
* refactor: Use new AsyncAction over boolean flag
* fix: Add sleeps to tests
* refactor: Remove `PromptOrInvite` and switch on async action
* fix: Remove redundant `assertThat`
* feat: Alllow invite confirmation modal to be dismissed
* tests: Update snapshots for InvitePeopleView
* fix: Adjust `CreateDmConfirmationBottomSheet` to conform to design
* feat: Use localazy translations and plurals
* fix: When users are unselected, unselect them in search results too
* tests: Use aMatrixUserList to provide multiple users
* Update screenshots
* fix: Add missing parameter in UserProfilePresenterTest
---------
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
Co-authored-by: ElementBot <android@element.io>
* Update metro to v0.6.7
* Replace `@Inject` with `@AssistedInject` where needed
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
* Add `InvitePeopleState.sendInvitesAction`
Keep track of the progress on sending invites with a new state property.
* Keep `RoomInviteMembersView` open until invites are sent
* Sync strings from localazy
* extend `ProgressDialog` to support custom content
For my current design, a simple text element is insufficient. I extend
`ProgressDialog` to give more flexibility over the content of the dialog.
* Show progress dialog while invites are being sent
* Add new ProgressDialog previews to the naming exceptions list
* Update screenshots
---------
Co-authored-by: ElementBot <android@element.io>
Co-authored-by: Jorge Martín <jorgem@element.io>