Skip to content

Commit 3ad7c90

Browse files
authored
Merge pull request #4280 from nextcloud/backport/4277/stable-20.0
[stable-20.0] Bugfix/4272/fix to handle old server versions
2 parents 891be0a + 38905ec commit 3ad7c90

File tree

12 files changed

+438
-220
lines changed

12 files changed

+438
-220
lines changed

app/src/main/java/com/nextcloud/talk/activities/CallActivity.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1745,9 +1745,8 @@ class CallActivity : CallBaseActivity() {
17451745
ApplicationWideCurrentRoomHolder.getInstance().callStartTime = conversation.callStartTime
17461746
}
17471747

1748-
private fun startCallTimeCounter(callStartTime: Long?) {
1749-
if (callStartTime != null &&
1750-
callStartTime != 0L &&
1748+
private fun startCallTimeCounter(callStartTime: Long) {
1749+
if (callStartTime != 0L &&
17511750
hasSpreedFeatureCapability(
17521751
conversationUser!!.capabilities!!.spreedCapability!!, SpreedFeatures.RECORDING_V1
17531752
)

app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -356,8 +356,8 @@ class ConversationInfoActivity :
356356
binding.webinarInfoView.startTimeButton.setOnClickListener {
357357
MaterialDialog(this, BottomSheet(WRAP_CONTENT)).show {
358358
val currentTimeCalendar = Calendar.getInstance()
359-
if (conversation!!.lobbyTimer != null && conversation!!.lobbyTimer != 0L) {
360-
currentTimeCalendar.timeInMillis = conversation!!.lobbyTimer!! * DateConstants.SECOND_DIVIDER
359+
if (conversation!!.lobbyTimer != 0L) {
360+
currentTimeCalendar.timeInMillis = conversation!!.lobbyTimer * DateConstants.SECOND_DIVIDER
361361
}
362362

363363
dateTimePicker(
@@ -746,13 +746,13 @@ class ConversationInfoActivity :
746746

747747
setupWebinaryView()
748748

749-
if (!ConversationUtils.canLeave(conversation!!)) {
749+
if (!conversation!!.canLeaveConversation) {
750750
binding.leaveConversationAction.visibility = GONE
751751
} else {
752752
binding.leaveConversationAction.visibility = VISIBLE
753753
}
754754

755-
if (!ConversationUtils.canDelete(conversation!!, spreedCapabilities)) {
755+
if (!conversation!!.canDeleteConversation) {
756756
binding.deleteConversationAction.visibility = GONE
757757
} else {
758758
binding.deleteConversationAction.visibility = VISIBLE

app/src/main/java/com/nextcloud/talk/data/database/mappers/ConversationMapUtils.kt

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -116,46 +116,46 @@ fun Conversation.asEntity(accountId: Long) =
116116
ConversationEntity(
117117
internalId = "$accountId@$token",
118118
accountId = accountId,
119-
token = token!!,
120-
name = name!!,
121-
displayName = displayName!!,
122-
description = description!!,
123-
type = type!!,
119+
token = token,
120+
name = name,
121+
displayName = displayName,
122+
description = description,
123+
type = type,
124124
lastPing = lastPing,
125-
participantType = participantType!!,
125+
participantType = participantType,
126126
hasPassword = hasPassword,
127-
sessionId = sessionId!!,
128-
actorId = actorId!!,
129-
actorType = actorType!!,
127+
sessionId = sessionId,
128+
actorId = actorId,
129+
actorType = actorType,
130130
favorite = favorite,
131131
lastActivity = lastActivity,
132132
unreadMessages = unreadMessages,
133133
unreadMention = unreadMention,
134134
lastMessage = lastMessage?.let { LoganSquare.serialize(lastMessage) },
135-
objectType = objectType!!,
136-
notificationLevel = notificationLevel!!,
137-
conversationReadOnlyState = conversationReadOnlyState!!,
138-
lobbyState = lobbyState!!,
139-
lobbyTimer = lobbyTimer!!,
135+
objectType = objectType,
136+
notificationLevel = notificationLevel,
137+
conversationReadOnlyState = conversationReadOnlyState,
138+
lobbyState = lobbyState,
139+
lobbyTimer = lobbyTimer,
140140
lastReadMessage = lastReadMessage,
141141
lastCommonReadMessage = lastCommonReadMessage,
142142
hasCall = hasCall,
143143
callFlag = callFlag,
144144
canStartCall = canStartCall,
145-
canLeaveConversation = canLeaveConversation!!,
146-
canDeleteConversation = canDeleteConversation!!,
147-
unreadMentionDirect = unreadMentionDirect!!,
148-
notificationCalls = notificationCalls!!,
145+
canLeaveConversation = canLeaveConversation,
146+
canDeleteConversation = canDeleteConversation,
147+
unreadMentionDirect = unreadMentionDirect,
148+
notificationCalls = notificationCalls,
149149
permissions = permissions,
150150
messageExpiration = messageExpiration,
151151
status = status,
152152
statusIcon = statusIcon,
153153
statusMessage = statusMessage,
154154
statusClearAt = statusClearAt,
155155
callRecording = callRecording,
156-
avatarVersion = avatarVersion!!,
157-
hasCustomAvatar = hasCustomAvatar!!,
158-
callStartTime = callStartTime!!,
156+
avatarVersion = avatarVersion,
157+
hasCustomAvatar = hasCustomAvatar,
158+
callStartTime = callStartTime,
159159
recordingConsentRequired = recordingConsentRequired,
160160
remoteServer = remoteServer,
161161
remoteToken = remoteToken

app/src/main/java/com/nextcloud/talk/models/domain/ConversationModel.kt

Lines changed: 21 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import com.nextcloud.talk.models.json.participants.Participant
1616
class ConversationModel(
1717
var internalId: String,
1818
var accountId: Long,
19-
// var roomId: String? = null,
2019
var token: String,
2120
var name: String,
2221
var displayName: String,
@@ -70,104 +69,59 @@ class ConversationModel(
7069
return ConversationModel(
7170
internalId = user.id!!.toString() + "@" + conversation.token,
7271
accountId = user.id!!,
73-
// roomId = conversation.roomId,
74-
token = conversation.token!!,
75-
name = conversation.name!!,
76-
displayName = conversation.displayName!!,
77-
description = conversation.description!!,
78-
type = conversation.type.let { ConversationEnums.ConversationType.valueOf(it!!.name) },
72+
token = conversation.token,
73+
name = conversation.name,
74+
displayName = conversation.displayName,
75+
description = conversation.description,
76+
type = conversation.type.let { ConversationEnums.ConversationType.valueOf(it.name) },
7977
lastPing = conversation.lastPing,
80-
participantType = conversation.participantType.let { Participant.ParticipantType.valueOf(it!!.name) },
78+
participantType = conversation.participantType.let { Participant.ParticipantType.valueOf(it.name) },
8179
hasPassword = conversation.hasPassword,
82-
sessionId = conversation.sessionId!!,
83-
actorId = conversation.actorId!!,
84-
actorType = conversation.actorType!!,
80+
sessionId = conversation.sessionId,
81+
actorId = conversation.actorId,
82+
actorType = conversation.actorType,
8583
password = conversation.password,
8684
favorite = conversation.favorite,
8785
lastActivity = conversation.lastActivity,
8886
unreadMessages = conversation.unreadMessages,
8987
unreadMention = conversation.unreadMention,
9088
lastMessage = conversation.lastMessage,
91-
objectType = conversation.objectType.let { ConversationEnums.ObjectType.valueOf(it!!.name) },
89+
objectType = conversation.objectType.let { ConversationEnums.ObjectType.valueOf(it.name) },
9290
notificationLevel = conversation.notificationLevel.let {
9391
ConversationEnums.NotificationLevel.valueOf(
94-
it!!.name
92+
it.name
9593
)
9694
},
9795
conversationReadOnlyState = conversation.conversationReadOnlyState.let {
9896
ConversationEnums.ConversationReadOnlyState.valueOf(
99-
it!!.name
97+
it.name
10098
)
10199
},
102-
lobbyState = conversation.lobbyState.let { ConversationEnums.LobbyState.valueOf(it!!.name) },
103-
lobbyTimer = conversation.lobbyTimer!!,
100+
lobbyState = conversation.lobbyState.let { ConversationEnums.LobbyState.valueOf(it.name) },
101+
lobbyTimer = conversation.lobbyTimer,
104102
lastReadMessage = conversation.lastReadMessage,
105103
lastCommonReadMessage = conversation.lastCommonReadMessage,
106104
hasCall = conversation.hasCall,
107105
callFlag = conversation.callFlag,
108106
canStartCall = conversation.canStartCall,
109-
canLeaveConversation = conversation.canLeaveConversation!!,
110-
canDeleteConversation = conversation.canDeleteConversation!!,
111-
unreadMentionDirect = conversation.unreadMentionDirect!!,
112-
notificationCalls = conversation.notificationCalls!!,
107+
canLeaveConversation = conversation.canLeaveConversation,
108+
canDeleteConversation = conversation.canDeleteConversation,
109+
unreadMentionDirect = conversation.unreadMentionDirect,
110+
notificationCalls = conversation.notificationCalls,
113111
permissions = conversation.permissions,
114112
messageExpiration = conversation.messageExpiration,
115113
status = conversation.status,
116114
statusIcon = conversation.statusIcon,
117115
statusMessage = conversation.statusMessage,
118116
statusClearAt = conversation.statusClearAt,
119117
callRecording = conversation.callRecording,
120-
avatarVersion = conversation.avatarVersion!!,
121-
hasCustomAvatar = conversation.hasCustomAvatar!!,
122-
callStartTime = conversation.callStartTime!!,
118+
avatarVersion = conversation.avatarVersion,
119+
hasCustomAvatar = conversation.hasCustomAvatar,
120+
callStartTime = conversation.callStartTime,
123121
recordingConsentRequired = conversation.recordingConsentRequired,
124122
remoteServer = conversation.remoteServer,
125123
remoteToken = conversation.remoteToken
126124
)
127125
}
128126
}
129127
}
130-
131-
// enum class ConversationType {
132-
// DUMMY,
133-
// ROOM_TYPE_ONE_TO_ONE_CALL,
134-
// ROOM_GROUP_CALL,
135-
// ROOM_PUBLIC_CALL,
136-
// ROOM_SYSTEM,
137-
// FORMER_ONE_TO_ONE,
138-
// NOTE_TO_SELF
139-
// }
140-
//
141-
// enum class ParticipantType {
142-
// DUMMY,
143-
// OWNER,
144-
// MODERATOR,
145-
// USER,
146-
// GUEST,
147-
// USER_FOLLOWING_LINK,
148-
// GUEST_MODERATOR
149-
// }
150-
//
151-
// enum class ObjectType {
152-
// DEFAULT,
153-
// SHARE_PASSWORD,
154-
// FILE,
155-
// ROOM
156-
// }
157-
//
158-
// enum class NotificationLevel {
159-
// DEFAULT,
160-
// ALWAYS,
161-
// MENTION,
162-
// NEVER
163-
// }
164-
//
165-
// enum class ConversationReadOnlyState {
166-
// CONVERSATION_READ_WRITE,
167-
// CONVERSATION_READ_ONLY
168-
// }
169-
//
170-
// enum class LobbyState {
171-
// LOBBY_STATE_ALL_PARTICIPANTS,
172-
// LOBBY_STATE_MODERATORS_ONLY
173-
// }

0 commit comments

Comments
 (0)