Skip to content

Commit

Permalink
Merge pull request #4261 from nextcloud/bugfix/4190/avoidNpeCurrentCo…
Browse files Browse the repository at this point in the history
…nversation

try to avoid NPE for currentConversation
  • Loading branch information
sowjanyakch authored Sep 24, 2024
2 parents 68627ad + b78267d commit c327007
Showing 1 changed file with 48 additions and 33 deletions.
81 changes: 48 additions & 33 deletions app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -571,48 +571,63 @@ class ChatActivity :
chatViewModel.getCapabilitiesViewState.observe(this) { state ->
when (state) {
is ChatViewModel.GetCapabilitiesUpdateState -> {
spreedCapabilities = state.spreedCapabilities
chatApiVersion = ApiUtils.getChatApiVersion(spreedCapabilities, intArrayOf(1))
participantPermissions = ParticipantPermissions(spreedCapabilities, currentConversation!!)

invalidateOptionsMenu()
checkShowCallButtons()
checkLobbyState()
updateRoomTimerHandler()
if (currentConversation != null) {
spreedCapabilities = state.spreedCapabilities
chatApiVersion = ApiUtils.getChatApiVersion(spreedCapabilities, intArrayOf(1))
participantPermissions = ParticipantPermissions(spreedCapabilities, currentConversation!!)

invalidateOptionsMenu()
checkShowCallButtons()
checkLobbyState()
updateRoomTimerHandler()
} else {
Log.w(
TAG,
"currentConversation was null in observer ChatViewModel.GetCapabilitiesUpdateState"
)
}
}

is ChatViewModel.GetCapabilitiesInitialLoadState -> {
spreedCapabilities = state.spreedCapabilities
chatApiVersion = ApiUtils.getChatApiVersion(spreedCapabilities, intArrayOf(1))
participantPermissions = ParticipantPermissions(spreedCapabilities, currentConversation!!)

supportFragmentManager.commit {
setReorderingAllowed(true) // optimizes out redundant replace operations
replace(R.id.fragment_container_activity_chat, messageInputFragment)
}
if (currentConversation != null) {
spreedCapabilities = state.spreedCapabilities
chatApiVersion = ApiUtils.getChatApiVersion(spreedCapabilities, intArrayOf(1))
participantPermissions = ParticipantPermissions(spreedCapabilities, currentConversation!!)

supportFragmentManager.commit {
setReorderingAllowed(true) // optimizes out redundant replace operations
replace(R.id.fragment_container_activity_chat, messageInputFragment)
}

joinRoomWithPassword()
joinRoomWithPassword()

if (conversationUser?.userId != "?" &&
CapabilitiesUtil.hasSpreedFeatureCapability(spreedCapabilities, SpreedFeatures.MENTION_FLAG)
) {
binding.chatToolbar.setOnClickListener { _ -> showConversationInfoScreen() }
}
if (conversationUser?.userId != "?" &&
CapabilitiesUtil.hasSpreedFeatureCapability(spreedCapabilities, SpreedFeatures.MENTION_FLAG)
) {
binding.chatToolbar.setOnClickListener { _ -> showConversationInfoScreen() }
}

loadAvatarForStatusBar()
setupSwipeToReply()
setActionBarTitle()
loadAvatarForStatusBar()
setupSwipeToReply()
setActionBarTitle()

checkShowCallButtons()
checkLobbyState()
updateRoomTimerHandler()
checkShowCallButtons()
checkLobbyState()
updateRoomTimerHandler()

val urlForChatting = ApiUtils.getUrlForChat(chatApiVersion, conversationUser?.baseUrl, roomToken)
val urlForChatting =
ApiUtils.getUrlForChat(chatApiVersion, conversationUser?.baseUrl, roomToken)

if (adapter?.isEmpty == true) {
chatViewModel.loadMessages(
withCredentials = credentials!!,
withUrl = urlForChatting
if (adapter?.isEmpty == true) {
chatViewModel.loadMessages(
withCredentials = credentials!!,
withUrl = urlForChatting
)
}
} else {
Log.w(
TAG,
"currentConversation was null in observer ChatViewModel.GetCapabilitiesInitialLoadState"
)
}
}
Expand Down

0 comments on commit c327007

Please sign in to comment.