diff --git a/app/src/main/java/org/linphone/ui/call/fragment/ActiveCallFragment.kt b/app/src/main/java/org/linphone/ui/call/fragment/ActiveCallFragment.kt index 721caf2ed..d34548017 100644 --- a/app/src/main/java/org/linphone/ui/call/fragment/ActiveCallFragment.kt +++ b/app/src/main/java/org/linphone/ui/call/fragment/ActiveCallFragment.kt @@ -383,6 +383,14 @@ class ActiveCallFragment : GenericCallFragment() { // Need to be done manually callViewModel.updateCallDuration() } + + if (callViewModel.isZrtpAlertDialogVisible) { + Log.i("$TAG Fragment resuming, showing ZRTP alert dialog") + showZrtpAlertDialog(callViewModel.zrtpSasValidationAttempts == 1) + } else if (callViewModel.isZrtpDialogVisible) { + Log.i("$TAG Fragment resuming, showing ZRTP SAS validation dialog") + callViewModel.showZrtpSasDialogIfPossible() + } } @SuppressLint("ClickableViewAccessibility") @@ -431,6 +439,7 @@ class ActiveCallFragment : GenericCallFragment() { event.consume { callViewModel.skipZrtpSas() dialog.dismiss() + callViewModel.isZrtpDialogVisible = false } } @@ -438,11 +447,13 @@ class ActiveCallFragment : GenericCallFragment() { event.consume { authToken -> callViewModel.updateZrtpSas(authToken) dialog.dismiss() + callViewModel.isZrtpDialogVisible = false } } dialog.show() zrtpSasDialog = dialog + callViewModel.isZrtpDialogVisible = true } private fun showZrtpAlertDialog(allowTryAgain: Boolean = true) { @@ -453,6 +464,7 @@ class ActiveCallFragment : GenericCallFragment() { event.consume { callViewModel.showZrtpSasDialogIfPossible() dialog.dismiss() + callViewModel.isZrtpAlertDialogVisible = false } } @@ -460,10 +472,13 @@ class ActiveCallFragment : GenericCallFragment() { event.consume { callViewModel.hangUp() dialog.dismiss() + callViewModel.isZrtpAlertDialogVisible = false } } dialog.show() zrtpSasDialog = dialog + callViewModel.isZrtpDialogVisible = false + callViewModel.isZrtpAlertDialogVisible = true } } diff --git a/app/src/main/java/org/linphone/ui/call/viewmodel/CurrentCallViewModel.kt b/app/src/main/java/org/linphone/ui/call/viewmodel/CurrentCallViewModel.kt index 15366ee18..62ad516f5 100644 --- a/app/src/main/java/org/linphone/ui/call/viewmodel/CurrentCallViewModel.kt +++ b/app/src/main/java/org/linphone/ui/call/viewmodel/CurrentCallViewModel.kt @@ -179,6 +179,9 @@ class CurrentCallViewModel @UiThread constructor() : GenericViewModel() { var zrtpSasValidationAttempts = 0 + var isZrtpDialogVisible: Boolean = false + var isZrtpAlertDialogVisible: Boolean = false + // Chat val operationInProgress = MutableLiveData() diff --git a/app/src/main/res/layout/dialog_set_or_edit_group_subject.xml b/app/src/main/res/layout/dialog_set_or_edit_group_subject.xml index f868a71a0..196887c24 100644 --- a/app/src/main/res/layout/dialog_set_or_edit_group_subject.xml +++ b/app/src/main/res/layout/dialog_set_or_edit_group_subject.xml @@ -17,11 +17,11 @@ android:layout_height="match_parent"> + app:layout_constraintGuide_percent="0.75" /> + app:layout_constraintBottom_toBottomOf="@id/guideline"/>