mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2025-03-18 04:08:44 +03:00
Skip widget permissions for element call.
This commit is contained in:
parent
85aba894d6
commit
a0eb2e733c
1 changed files with 27 additions and 20 deletions
|
@ -85,29 +85,36 @@ class WidgetActivity : VectorBaseActivity<ActivityWidgetBinding>() {
|
|||
}
|
||||
}
|
||||
|
||||
permissionViewModel.observeViewEvents {
|
||||
when (it) {
|
||||
is RoomWidgetPermissionViewEvents.Close -> finish()
|
||||
// Trust element call widget by default
|
||||
if (widgetArgs.kind == WidgetKind.ELEMENT_CALL) {
|
||||
if (supportFragmentManager.findFragmentByTag(WIDGET_FRAGMENT_TAG) == null) {
|
||||
addFragment(views.fragmentContainer, WidgetFragment::class.java, widgetArgs, WIDGET_FRAGMENT_TAG)
|
||||
}
|
||||
} else {
|
||||
permissionViewModel.observeViewEvents {
|
||||
when (it) {
|
||||
is RoomWidgetPermissionViewEvents.Close -> finish()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
viewModel.onEach(WidgetViewState::status) { ws ->
|
||||
when (ws) {
|
||||
WidgetStatus.UNKNOWN -> {
|
||||
}
|
||||
WidgetStatus.WIDGET_NOT_ALLOWED -> {
|
||||
val dFrag = supportFragmentManager.findFragmentByTag(WIDGET_PERMISSION_FRAGMENT_TAG) as? RoomWidgetPermissionBottomSheet
|
||||
if (dFrag != null && dFrag.dialog?.isShowing == true && !dFrag.isRemoving) {
|
||||
return@onEach
|
||||
} else {
|
||||
RoomWidgetPermissionBottomSheet
|
||||
.newInstance(widgetArgs)
|
||||
.show(supportFragmentManager, WIDGET_PERMISSION_FRAGMENT_TAG)
|
||||
viewModel.onEach(WidgetViewState::status) { ws ->
|
||||
when (ws) {
|
||||
WidgetStatus.UNKNOWN -> {
|
||||
}
|
||||
}
|
||||
WidgetStatus.WIDGET_ALLOWED -> {
|
||||
if (supportFragmentManager.findFragmentByTag(WIDGET_FRAGMENT_TAG) == null) {
|
||||
addFragment(views.fragmentContainer, WidgetFragment::class.java, widgetArgs, WIDGET_FRAGMENT_TAG)
|
||||
WidgetStatus.WIDGET_NOT_ALLOWED -> {
|
||||
val dFrag = supportFragmentManager.findFragmentByTag(WIDGET_PERMISSION_FRAGMENT_TAG) as? RoomWidgetPermissionBottomSheet
|
||||
if (dFrag != null && dFrag.dialog?.isShowing == true && !dFrag.isRemoving) {
|
||||
return@onEach
|
||||
} else {
|
||||
RoomWidgetPermissionBottomSheet
|
||||
.newInstance(widgetArgs)
|
||||
.show(supportFragmentManager, WIDGET_PERMISSION_FRAGMENT_TAG)
|
||||
}
|
||||
}
|
||||
WidgetStatus.WIDGET_ALLOWED -> {
|
||||
if (supportFragmentManager.findFragmentByTag(WIDGET_FRAGMENT_TAG) == null) {
|
||||
addFragment(views.fragmentContainer, WidgetFragment::class.java, widgetArgs, WIDGET_FRAGMENT_TAG)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue