Skip to content

Commit 6c7f054

Browse files
committed
better fallback to "guest" if participant name not known
Signed-off-by: Marcel Hibbe <[email protected]>
1 parent 952d41e commit 6c7f054

File tree

2 files changed

+16
-8
lines changed

2 files changed

+16
-8
lines changed

app/src/main/java/com/nextcloud/talk/call/components/AvatarWithFallback.kt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,24 @@ import androidx.compose.ui.draw.clip
1919
import androidx.compose.ui.graphics.Color
2020
import androidx.compose.ui.layout.ContentScale
2121
import androidx.compose.ui.platform.LocalContext
22-
import androidx.compose.ui.res.stringResource
2322
import androidx.compose.ui.unit.sp
2423
import coil.compose.AsyncImage
25-
import com.nextcloud.talk.R
2624
import com.nextcloud.talk.activities.ParticipantUiState
2725
import com.nextcloud.talk.models.json.participants.Participant
2826
import com.nextcloud.talk.utils.ApiUtils
2927
import com.nextcloud.talk.utils.DisplayUtils.isDarkModeOn
3028

3129
@Composable
32-
fun AvatarWithFallback(participant: ParticipantUiState, modifier: Modifier = Modifier) {
30+
fun AvatarWithFallback(participant: ParticipantUiState, displayName: String, modifier: Modifier = Modifier) {
3331
Box(
3432
modifier = modifier
3533
.clip(CircleShape),
3634
contentAlignment = Alignment.Center
3735
) {
38-
val avatarUrl = getUrlForAvatar(participant = participant)
36+
val avatarUrl = getUrlForAvatar(
37+
participant = participant,
38+
displayName = displayName
39+
)
3940
if (avatarUrl.isNotEmpty()) {
4041
AsyncImage(
4142
model = avatarUrl,
@@ -73,7 +74,7 @@ private fun FallbackAvatar(participant: ParticipantUiState) {
7374
}
7475

7576
@Composable
76-
fun getUrlForAvatar(participant: ParticipantUiState): String {
77+
fun getUrlForAvatar(participant: ParticipantUiState, displayName: String): String {
7778
var url = ApiUtils.getUrlForAvatar(
7879
participant.baseUrl,
7980
participant.actorId,
@@ -84,7 +85,7 @@ fun getUrlForAvatar(participant: ParticipantUiState): String {
8485
) {
8586
url = ApiUtils.getUrlForGuestAvatar(
8687
participant.baseUrl,
87-
participant.nick ?: stringResource(R.string.nc_nick_guest),
88+
displayName,
8889
true
8990
)
9091
}

app/src/main/java/com/nextcloud/talk/call/components/ParticipantTile.kt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,13 @@ fun ParticipantTile(
5757
isVoiceOnlyCall: Boolean,
5858
onScreenShareIconClick: ((String?) -> Unit?)?
5959
) {
60-
val color = Color(ColorGenerator.usernameToColor(participantUiState.nick ?: ""))
60+
val displayName = if (participantUiState.nick.isNullOrEmpty()) {
61+
stringResource(R.string.nc_nick_guest)
62+
} else {
63+
participantUiState.nick
64+
}
65+
66+
val color = Color(ColorGenerator.usernameToColor(displayName))
6167

6268
BoxWithConstraints(
6369
modifier = modifier
@@ -71,6 +77,7 @@ fun ParticipantTile(
7177
} else {
7278
AvatarWithFallback(
7379
participant = participantUiState,
80+
displayName = displayName,
7481
modifier = Modifier
7582
.size(avatarSize)
7683
.align(Alignment.Center)
@@ -115,7 +122,7 @@ fun ParticipantTile(
115122
}
116123

117124
Text(
118-
text = participantUiState.nick ?: stringResource(R.string.nc_nick_guest),
125+
text = displayName,
119126
color = Color.White,
120127
modifier = Modifier
121128
.align(Alignment.BottomStart),

0 commit comments

Comments
 (0)