mirror of
https://github.com/nextcloud/talk-android.git
synced 2024-11-25 14:35:40 +03:00
Merge pull request #4261 from nextcloud/bugfix/4190/avoidNpeCurrentConversation
try to avoid NPE for currentConversation
This commit is contained in:
commit
c3270079b4
1 changed files with 46 additions and 31 deletions
|
@ -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!!)
|
||||
if (currentConversation != null) {
|
||||
spreedCapabilities = state.spreedCapabilities
|
||||
chatApiVersion = ApiUtils.getChatApiVersion(spreedCapabilities, intArrayOf(1))
|
||||
participantPermissions = ParticipantPermissions(spreedCapabilities, currentConversation!!)
|
||||
|
||||
invalidateOptionsMenu()
|
||||
checkShowCallButtons()
|
||||
checkLobbyState()
|
||||
updateRoomTimerHandler()
|
||||
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!!)
|
||||
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)
|
||||
}
|
||||
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"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue