Skip to content

Commit 9264496

Browse files
authored
Merge pull request #6685 from nextcloud/bugfix/noid/avoidNpeInGetCapabilities
fix(chat): avoid NPE when local spreed capabilities are not yet loaded
2 parents d159cf3 + f1792e2 commit 9264496

1 file changed

Lines changed: 9 additions & 4 deletions

File tree

app/src/main/java/com/nextcloud/talk/chat/viewmodels/ChatViewModel.kt

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1758,19 +1758,24 @@ class ChatViewModel @AssistedInject constructor(
17581758
fun getCapabilities(user: User, token: String, conversationModel: ConversationModel) {
17591759
Log.d(TAG, "Remote server ${conversationModel.remoteServer}")
17601760
if (conversationModel.remoteServer.isNullOrEmpty()) {
1761+
val spreedCapability = user.capabilities?.spreedCapability
1762+
if (spreedCapability == null) {
1763+
Log.w(TAG, "No local spreed capabilities available yet for user ${user.id}, skipping update")
1764+
return
1765+
}
17611766
participantPermissions = ParticipantPermissions(
1762-
user.capabilities!!.spreedCapability!!,
1767+
spreedCapability,
17631768
conversationModel
17641769
)
17651770
if (_getCapabilitiesViewState.value == GetCapabilitiesStartState) {
17661771
_getCapabilitiesViewState.value = GetCapabilitiesInitialLoadState(
1767-
user.capabilities!!.spreedCapability!!,
1772+
spreedCapability,
17681773
conversationModel
17691774
)
17701775
} else {
1771-
_getCapabilitiesViewState.value = GetCapabilitiesUpdateState(user.capabilities!!.spreedCapability!!)
1776+
_getCapabilitiesViewState.value = GetCapabilitiesUpdateState(spreedCapability)
17721777
}
1773-
_spreedCapabilities.value = user.capabilities!!.spreedCapability!!
1778+
_spreedCapabilities.value = spreedCapability
17741779
} else {
17751780
chatNetworkDataSource.getCapabilities(user, token)
17761781
.subscribeOn(Schedulers.io())

0 commit comments

Comments
 (0)