mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-03-01 22:22:15 +00:00
Remove admin toggle from call info sheet.
This commit is contained in:
committed by
Greyson Parrelli
parent
13708e33e4
commit
77fd87c3e6
@@ -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
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user