diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsFragment.kt
index f2b92a93b5..c85e80f519 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsFragment.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsFragment.kt
@@ -166,9 +166,14 @@ class CallLinkDetailsFragment : ComposeFragment(), CallLinkDetailsCallback {
override fun onApproveAllMembersChanged(checked: Boolean) {
lifecycleDisposable += viewModel.setApproveAllMembers(checked).observeOn(AndroidSchedulers.mainThread()).subscribeBy(onSuccess = {
- if (it !is UpdateCallLinkResult.Update) {
+ if (it is UpdateCallLinkResult.Failure) {
Log.w(TAG, "Failed to change restrictions. $it")
- toastFailure()
+
+ if (it.status == 409.toShort()) {
+ toastCallLinkInUse()
+ } else {
+ toastFailure()
+ }
}
}, onError = handleError("onApproveAllMembersChanged"))
}
@@ -189,6 +194,10 @@ class CallLinkDetailsFragment : ComposeFragment(), CallLinkDetailsCallback {
}
}
+ private fun toastCallLinkInUse() {
+ Toast.makeText(requireContext(), R.string.CallLinkDetailsFragment__couldnt_update_admin_approval, Toast.LENGTH_LONG).show()
+ }
+
private fun toastFailure() {
Toast.makeText(requireContext(), R.string.CallLinkDetailsFragment__couldnt_save_changes, Toast.LENGTH_LONG).show()
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 671a9e55c9..51a36d9fe1 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -7264,6 +7264,8 @@
Delete call link
Couldn\'t save changes. Check your network connection and try again.
+
+ Couldn\'t update admin approval settings. Check the call link is not currently in use.
Couldn\'t delete call link as it is currently in use.