From 77fd87c3e6729f7910abaa3059fd68fd89213429 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Tue, 1 Oct 2024 12:20:40 -0300 Subject: [PATCH] Remove admin toggle from call info sheet. --- .../webrtc/controls/CallInfoView.kt | 10 ------ .../controls/ControlsAndInfoController.kt | 2 +- .../controls/ControlsAndInfoViewModel.kt | 6 ---- .../components/webrtc/v2/CallActivity.kt | 5 +-- .../components/webrtc/v2/CallInfoCallbacks.kt | 32 ------------------- 5 files changed, 2 insertions(+), 53 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/CallInfoView.kt b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/CallInfoView.kt index 71eb2026a3..b2e61a704d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/CallInfoView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/CallInfoView.kt @@ -57,7 +57,6 @@ import org.signal.core.ui.Previews import org.signal.core.ui.Rows import org.signal.core.ui.theme.LocalExtendedColors import org.signal.core.ui.theme.SignalTheme -import org.signal.ringrtc.CallLinkState import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.avatar.fallback.FallbackAvatar import org.thoughtcrime.securesms.avatar.fallback.FallbackAvatarImage @@ -118,7 +117,6 @@ object CallInfoView { controlAndInfoState = controlAndInfoState, onShareLinkClicked = callbacks::onShareLinkClicked, onEditNameClicked = onEditNameClicked, - onToggleAdminApprovalClicked = callbacks::onToggleAdminApprovalClicked, onBlock = callbacks::onBlock, modifier = modifier ) @@ -129,7 +127,6 @@ object CallInfoView { interface Callbacks { fun onShareLinkClicked() fun onEditNameClicked(name: String) - fun onToggleAdminApprovalClicked(checked: Boolean) fun onBlock(callParticipant: CallParticipant) } } @@ -145,7 +142,6 @@ private fun CallInfoPreview() { controlAndInfoState = ControlAndInfoState(), onShareLinkClicked = { }, onEditNameClicked = { }, - onToggleAdminApprovalClicked = { }, onBlock = { } ) } @@ -158,7 +154,6 @@ private fun CallInfo( controlAndInfoState: ControlAndInfoState, onShareLinkClicked: () -> Unit, onEditNameClicked: () -> Unit, - onToggleAdminApprovalClicked: (Boolean) -> Unit, onBlock: (CallParticipant) -> Unit, modifier: Modifier = Modifier ) { @@ -320,11 +315,6 @@ private fun CallInfo( }, onClick = onEditNameClicked ) - Rows.ToggleRow( - checked = controlAndInfoState.callLink.state.restrictions == CallLinkState.Restrictions.ADMIN_APPROVAL, - text = stringResource(id = R.string.CallLinkDetailsFragment__require_admin_approval), - onCheckChanged = onToggleAdminApprovalClicked - ) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/ControlsAndInfoController.kt b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/ControlsAndInfoController.kt index c499cf281f..c0b24effae 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/ControlsAndInfoController.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/ControlsAndInfoController.kt @@ -133,7 +133,7 @@ class ControlsAndInfoController private constructor( private var previousCallControlHeightData = HeightData() private var controlState: WebRtcControls = WebRtcControls.NONE - private val callInfoCallbacks = CallInfoCallbacks(webRtcCallActivity, controlsAndInfoViewModel, disposables) + private val callInfoCallbacks = CallInfoCallbacks(webRtcCallActivity, controlsAndInfoViewModel) init { raiseHandComposeView.apply { diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/ControlsAndInfoViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/ControlsAndInfoViewModel.kt index 635e08a823..f997668f94 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/ControlsAndInfoViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/ControlsAndInfoViewModel.kt @@ -13,7 +13,6 @@ import io.reactivex.rxjava3.core.Single import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.kotlin.plusAssign import io.reactivex.rxjava3.kotlin.subscribeBy -import org.signal.ringrtc.CallLinkState import org.thoughtcrime.securesms.calls.links.CallLinks import org.thoughtcrime.securesms.calls.links.UpdateCallLinkRepository import org.thoughtcrime.securesms.calls.links.details.CallLinkDetailsRepository @@ -55,11 +54,6 @@ class ControlsAndInfoViewModel( _state.value = _state.value.copy(resetScrollState = System.currentTimeMillis()) } - fun setApproveAllMembers(approveAllMembers: Boolean): Single { - val credentials = _state.value.callLink?.credentials ?: error("User cannot change the name of this call.") - return mutationRepository.setCallRestrictions(credentials, if (approveAllMembers) CallLinkState.Restrictions.ADMIN_APPROVAL else CallLinkState.Restrictions.NONE) - } - fun setName(name: String): Single { val credentials = _state.value.callLink?.credentials ?: error("User cannot change the name of this call.") return mutationRepository.setCallName(credentials, name) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/CallActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/CallActivity.kt index c8e463b122..a14ec22add 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/CallActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/CallActivity.kt @@ -29,7 +29,6 @@ import androidx.lifecycle.Lifecycle import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.lifecycleScope import androidx.lifecycle.repeatOnLifecycle -import io.reactivex.rxjava3.disposables.CompositeDisposable import kotlinx.coroutines.delay import kotlinx.coroutines.launch import org.greenrobot.eventbus.EventBus @@ -89,10 +88,8 @@ class CallActivity : BaseActivity(), CallControlsCallback { val fullscreenHelper = FullscreenHelper(this) lifecycleDisposable.bindTo(this) - val compositeDisposable = CompositeDisposable() - lifecycleDisposable.add(compositeDisposable) - val callInfoCallbacks = CallInfoCallbacks(this, controlsAndInfoViewModel, compositeDisposable) + val callInfoCallbacks = CallInfoCallbacks(this, controlsAndInfoViewModel) observeCallEvents() viewModel.processCallIntent(CallIntent(intent)) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/CallInfoCallbacks.kt b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/CallInfoCallbacks.kt index 87d5a7ab7f..d91703ea57 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/CallInfoCallbacks.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/CallInfoCallbacks.kt @@ -10,10 +10,7 @@ import android.content.Intent import android.widget.Toast import androidx.core.app.ShareCompat import com.google.android.material.dialog.MaterialAlertDialogBuilder -import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.disposables.CompositeDisposable -import io.reactivex.rxjava3.kotlin.addTo -import io.reactivex.rxjava3.kotlin.subscribeBy import org.signal.core.util.logging.Log import org.thoughtcrime.securesms.BaseActivity import org.thoughtcrime.securesms.R @@ -24,7 +21,6 @@ import org.thoughtcrime.securesms.components.webrtc.controls.CallInfoView import org.thoughtcrime.securesms.components.webrtc.controls.ControlsAndInfoViewModel import org.thoughtcrime.securesms.dependencies.AppDependencies import org.thoughtcrime.securesms.events.CallParticipant -import org.thoughtcrime.securesms.service.webrtc.links.UpdateCallLinkResult /** * Callbacks for the CallInfoView, shared between CallActivity and ControlsAndInfoController. @@ -32,13 +28,8 @@ import org.thoughtcrime.securesms.service.webrtc.links.UpdateCallLinkResult class CallInfoCallbacks( private val activity: BaseActivity, private val controlsAndInfoViewModel: ControlsAndInfoViewModel, - private val disposables: CompositeDisposable ) : CallInfoView.Callbacks { - companion object { - private val TAG = Log.tag(CallInfoCallbacks::class) - } - override fun onShareLinkClicked() { val mimeType = Intent.normalizeMimeType("text/plain") val shareIntent = ShareCompat.IntentBuilder(activity) @@ -59,18 +50,6 @@ class CallInfoCallbacks( }.show(activity.supportFragmentManager, null) } - override fun onToggleAdminApprovalClicked(checked: Boolean) { - controlsAndInfoViewModel.setApproveAllMembers(checked) - .observeOn(AndroidSchedulers.mainThread()) - .subscribeBy(onSuccess = { - if (it !is UpdateCallLinkResult.Update) { - Log.w(TAG, "Failed to change restrictions. $it") - toastFailure() - } - }, onError = handleError("onApproveAllMembersChanged")) - .addTo(disposables) - } - override fun onBlock(callParticipant: CallParticipant) { MaterialAlertDialogBuilder(activity) .setNegativeButton(android.R.string.cancel, null) @@ -83,15 +62,4 @@ class CallInfoCallbacks( } .show() } - - private fun handleError(method: String): (throwable: Throwable) -> Unit { - return { - Log.w(TAG, "Failure during $method", it) - toastFailure() - } - } - - private fun toastFailure() { - Toast.makeText(activity, R.string.CallLinkDetailsFragment__couldnt_save_changes, Toast.LENGTH_LONG).show() - } }