Remove admin toggle from call info sheet.

This commit is contained in:
Alex Hart
2024-10-01 12:20:40 -03:00
committed by Greyson Parrelli
parent 13708e33e4
commit 77fd87c3e6
5 changed files with 2 additions and 53 deletions

View File

@@ -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
)
}
}

View File

@@ -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 {

View File

@@ -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<UpdateCallLinkResult> {
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<UpdateCallLinkResult> {
val credentials = _state.value.callLink?.credentials ?: error("User cannot change the name of this call.")
return mutationRepository.setCallName(credentials, name)

View File

@@ -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))

View File

@@ -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()
}
}