Invite: we shouldn't be able to open room details
This commit is contained in:
parent
9c595b6c02
commit
8814364497
@ -293,6 +293,7 @@ class RoomDetailFragment @Inject constructor(
|
|||||||
setupJumpToBottomView()
|
setupJumpToBottomView()
|
||||||
setupWidgetsBannerView()
|
setupWidgetsBannerView()
|
||||||
|
|
||||||
|
roomToolbarContentView.isClickable = false
|
||||||
roomToolbarContentView.debouncedClicks {
|
roomToolbarContentView.debouncedClicks {
|
||||||
navigator.openRoomProfile(requireActivity(), roomDetailArgs.roomId)
|
navigator.openRoomProfile(requireActivity(), roomDetailArgs.roomId)
|
||||||
}
|
}
|
||||||
@ -858,6 +859,7 @@ class RoomDetailFragment @Inject constructor(
|
|||||||
val summary = state.asyncRoomSummary()
|
val summary = state.asyncRoomSummary()
|
||||||
val inviter = state.asyncInviter()
|
val inviter = state.asyncInviter()
|
||||||
if (summary?.membership == Membership.JOIN) {
|
if (summary?.membership == Membership.JOIN) {
|
||||||
|
roomToolbarContentView.isClickable = true
|
||||||
roomWidgetsBannerView.render(state.activeRoomWidgets())
|
roomWidgetsBannerView.render(state.activeRoomWidgets())
|
||||||
scrollOnHighlightedEventCallback.timeline = roomDetailViewModel.timeline
|
scrollOnHighlightedEventCallback.timeline = roomDetailViewModel.timeline
|
||||||
timelineEventController.update(state)
|
timelineEventController.update(state)
|
||||||
@ -879,6 +881,7 @@ class RoomDetailFragment @Inject constructor(
|
|||||||
notificationAreaView.render(NotificationAreaView.State.Tombstone(state.tombstoneEvent))
|
notificationAreaView.render(NotificationAreaView.State.Tombstone(state.tombstoneEvent))
|
||||||
}
|
}
|
||||||
} else if (summary?.membership == Membership.INVITE && inviter != null) {
|
} else if (summary?.membership == Membership.INVITE && inviter != null) {
|
||||||
|
roomToolbarContentView.isClickable = false
|
||||||
inviteView.visibility = View.VISIBLE
|
inviteView.visibility = View.VISIBLE
|
||||||
inviteView.render(inviter, VectorInviteView.Mode.LARGE)
|
inviteView.render(inviter, VectorInviteView.Mode.LARGE)
|
||||||
// Intercept click event
|
// Intercept click event
|
||||||
|
@ -405,17 +405,22 @@ class RoomDetailViewModel @AssistedInject constructor(
|
|||||||
|
|
||||||
private fun isIntegrationEnabled() = session.integrationManagerService().isIntegrationEnabled()
|
private fun isIntegrationEnabled() = session.integrationManagerService().isIntegrationEnabled()
|
||||||
|
|
||||||
fun isMenuItemVisible(@IdRes itemId: Int) = when (itemId) {
|
fun isMenuItemVisible(@IdRes itemId: Int): Boolean = com.airbnb.mvrx.withState(this) { state ->
|
||||||
R.id.clear_message_queue ->
|
if(state.asyncRoomSummary()?.membership != Membership.JOIN){
|
||||||
// For now always disable when not in developer mode, worker cancellation is not working properly
|
return@withState false
|
||||||
timeline.pendingEventCount() > 0 && vectorPreferences.developerMode()
|
}
|
||||||
R.id.resend_all -> timeline.failedToDeliverEventCount() > 0
|
when (itemId) {
|
||||||
R.id.clear_all -> timeline.failedToDeliverEventCount() > 0
|
R.id.clear_message_queue ->
|
||||||
R.id.open_matrix_apps -> true
|
// For now always disable when not in developer mode, worker cancellation is not working properly
|
||||||
R.id.voice_call,
|
timeline.pendingEventCount() > 0 && vectorPreferences.developerMode()
|
||||||
R.id.video_call -> room.canStartCall() && webRtcPeerConnectionManager.currentCall == null
|
R.id.resend_all -> timeline.failedToDeliverEventCount() > 0
|
||||||
R.id.hangup_call -> webRtcPeerConnectionManager.currentCall != null
|
R.id.clear_all -> timeline.failedToDeliverEventCount() > 0
|
||||||
else -> false
|
R.id.open_matrix_apps -> true
|
||||||
|
R.id.voice_call,
|
||||||
|
R.id.video_call -> room.canStartCall() && webRtcPeerConnectionManager.currentCall == null
|
||||||
|
R.id.hangup_call -> webRtcPeerConnectionManager.currentCall != null
|
||||||
|
else -> false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// PRIVATE METHODS *****************************************************************************
|
// PRIVATE METHODS *****************************************************************************
|
||||||
|
Loading…
x
Reference in New Issue
Block a user