Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,10 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.sp
import coil.compose.AsyncImage
import com.nextcloud.talk.R
import com.nextcloud.talk.activities.ParticipantUiState
import com.nextcloud.talk.models.json.participants.Participant
import com.nextcloud.talk.utils.ApiUtils
Expand All @@ -40,7 +42,7 @@ fun AvatarWithFallback(participant: ParticipantUiState, displayName: String, mod
if (avatarUrl.isNotEmpty()) {
AsyncImage(
model = avatarUrl,
contentDescription = "Avatar",
contentDescription = stringResource(R.string.avatar),
contentScale = ContentScale.Crop,
modifier = Modifier
.fillMaxSize()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ fun ParticipantTile(
if (participantUiState.raisedHand) {
Icon(
painter = painterResource(id = R.drawable.ic_hand_back_left),
contentDescription = "Raised Hand",
contentDescription = stringResource(R.string.nc_call_raised_hand, displayName),
modifier = Modifier
.align(Alignment.TopEnd)
.padding(6.dp)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ fun ContactItemRow(contact: AutocompleteUser, contactsViewModel: ContactsViewMod
Spacer(modifier = Modifier.weight(1f))
Icon(
imageVector = ImageVector.vectorResource(id = R.drawable.ic_check_circle),
contentDescription = "Selected",
contentDescription = stringResource(R.string.selected_list_item),
tint = Color.Blue,
modifier = Modifier.padding(end = 8.dp)
)
Expand Down
1,908 changes: 402 additions & 1,506 deletions app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*
* Nextcloud Talk - Android Client
*
* SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: GPL-3.0-or-later
*/

package com.nextcloud.talk.conversationinfo

import androidx.annotation.StringRes

sealed class ConversationInfoUiEvent {
data class ShowSnackbar(@StringRes val resId: Int) : ConversationInfoUiEvent()
data class ShowSnackbarText(val text: String) : ConversationInfoUiEvent()
data class NavigateToChat(val token: String) : ConversationInfoUiEvent()
data object RefreshParticipants : ConversationInfoUiEvent()
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
/*
* Nextcloud Talk - Android Client
*
* SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: GPL-3.0-or-later
*/

package com.nextcloud.talk.conversationinfo

import com.nextcloud.talk.conversationinfo.model.ParticipantModel
import com.nextcloud.talk.models.domain.ConversationModel
import com.nextcloud.talk.models.json.capabilities.SpreedCapability
import com.nextcloud.talk.models.json.conversations.ConversationEnums

data class ConversationInfoUiState(
val isLoading: Boolean = true,
val spreedCapabilities: SpreedCapability? = null,
val capabilitiesVersion: Int = 0,
val profileDataAvailable: Boolean = false,

val conversation: ConversationModel? = null,
val displayName: String = "",
val description: String = "",
val avatarUrl: String? = null,
val conversationType: ConversationEnums.ConversationType? = null,
val serverBaseUrl: String = "",
val credentials: String = "",
val conversationToken: String = "",

val pronouns: String = "",
val professionCompany: String = "",
val localTimeLocation: String = "",

val upcomingEventSummary: String? = null,
val upcomingEventTime: String? = null,

val notificationLevel: String = "",
val callNotificationsEnabled: Boolean = true,
val showCallNotifications: Boolean = true,
val importantConversation: Boolean = false,
val showImportantConversation: Boolean = false,
val sensitiveConversation: Boolean = false,
val showSensitiveConversation: Boolean = false,

val lobbyEnabled: Boolean = false,
val showWebinarSettings: Boolean = false,
val lobbyTimerLabel: String = "",
val showLobbyTimer: Boolean = false,

val guestsAllowed: Boolean = false,
val showGuestAccess: Boolean = false,
val hasPassword: Boolean = false,
val showPasswordProtection: Boolean = false,
val showResendInvitations: Boolean = false,

val showSharedItems: Boolean = true,
val showThreadsButton: Boolean = false,

val showRecordingConsent: Boolean = false,
val recordingConsentForConversation: Boolean = false,
val showRecordingConsentSwitch: Boolean = false,
val showRecordingConsentAll: Boolean = false,
val recordingConsentEnabled: Boolean = true,

val messageExpirationLabel: String = "",
val showMessageExpiration: Boolean = false,
val showShareConversationButton: Boolean = true,

val isConversationLocked: Boolean = false,
val showLockConversation: Boolean = false,

val participants: List<ParticipantModel> = emptyList(),
val showParticipants: Boolean = false,
val showAddParticipants: Boolean = false,
val showStartGroupChat: Boolean = false,
val showListBans: Boolean = false,

val showArchiveConversation: Boolean = false,
val isArchived: Boolean = false,
val canLeave: Boolean = true,
val canDelete: Boolean = false,
val showClearHistory: Boolean = false,

val showEditButton: Boolean = false
)

This file was deleted.

Loading
Loading