Hide Element Call entry point if Element Call service is not available. (#4783)

* Hide Element Call entry point if Element Call service is not available.

* No need to preview the case RoomCallState.Unavailable

* Hide start call action from user profile if Element Call is not available.

* Add mising `use` and cover the problem by a test.

* Update screenshots

* Update enterprise submodule ref.

* Ensure `enterpriseService.isElementCallAvailable()` is not called several times.
And fix unit tests on CI

---------

Co-authored-by: ElementBot <android@element.io>
This commit is contained in:
Benoit Marty 2025-05-27 16:31:05 +02:00 committed by GitHub
parent 730fb684b0
commit 5b9da3c41b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 146 additions and 45 deletions

View file

@ -38,6 +38,9 @@ internal fun CallMenuItem(
modifier: Modifier = Modifier,
) {
when (roomCallState) {
RoomCallState.Unavailable -> {
Box(modifier)
}
is RoomCallState.StandBy -> {
StandByCallMenuItem(
roomCallState = roomCallState,

View file

@ -103,10 +103,12 @@ internal fun TimelineItemCallNotifyView(
@PreviewsDayNight
@Composable
internal fun TimelineItemCallNotifyViewPreview() {
ElementPreview {
Column(modifier = Modifier.padding(16.dp), verticalArrangement = Arrangement.spacedBy(16.dp)) {
RoomCallStateProvider().values.forEach { roomCallState ->
internal fun TimelineItemCallNotifyViewPreview() = ElementPreview {
Column(modifier = Modifier.padding(16.dp), verticalArrangement = Arrangement.spacedBy(16.dp)) {
RoomCallStateProvider()
.values
.filter { it !is RoomCallState.Unavailable }
.forEach { roomCallState ->
TimelineItemCallNotifyView(
event = aTimelineItemEvent(content = TimelineItemCallNotifyContent()),
roomCallState = roomCallState,
@ -114,6 +116,5 @@ internal fun TimelineItemCallNotifyViewPreview() {
onJoinCallClick = {},
)
}
}
}
}