diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt index 8b4a7ca4fd..5ac8d785e8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt @@ -48,7 +48,6 @@ import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.view.ActionMode import androidx.appcompat.widget.SearchView import androidx.appcompat.widget.Toolbar -import androidx.core.app.ActivityCompat import androidx.core.app.ActivityOptionsCompat import androidx.core.content.ContextCompat import androidx.core.content.pm.ShortcutManagerCompat @@ -2875,7 +2874,7 @@ class ConversationFragment : val activity = activity ?: return ViewCompat.setTransitionName(avatarTransitionView, "avatar") val bundle = ActivityOptionsCompat.makeSceneTransitionAnimation(activity, avatarTransitionView, "avatar").toBundle() - ActivityCompat.startActivity(activity, SharedContactDetailsActivity.getIntent(activity, contact), bundle) + activity.startActivity(SharedContactDetailsActivity.getIntent(activity, contact), bundle) } override fun onAddToContactsClicked(contact: Contact) { @@ -3556,7 +3555,7 @@ class ConversationFragment : binding.toolbar ) - ActivityCompat.startActivity(requireContext(), intent, bundle) + requireActivity().startActivity(intent, bundle) } override fun handleLeavePushGroup() { @@ -3607,7 +3606,7 @@ class ConversationFragment : binding.toolbar ) - ActivityCompat.startActivity(requireActivity(), intent, bundle) + requireActivity().startActivity(intent, bundle) } override fun handleSelectMessageExpiration() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupNetworkUnavailableActionProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupNetworkUnavailableActionProcessor.java index 69eaf3ec59..9b0f5e5ba2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupNetworkUnavailableActionProcessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupNetworkUnavailableActionProcessor.java @@ -7,6 +7,7 @@ import android.net.NetworkInfo; import androidx.annotation.NonNull; import org.signal.core.util.logging.Log; +import org.signal.ringrtc.CallException; import org.signal.ringrtc.GroupCall; import org.thoughtcrime.securesms.components.webrtc.EglBaseWrapper; import org.thoughtcrime.securesms.events.WebRtcViewModel; @@ -71,6 +72,13 @@ public class GroupNetworkUnavailableActionProcessor extends WebRtcActionProcesso protected @NonNull WebRtcServiceState handleCancelPreJoinCall(@NonNull WebRtcServiceState currentState) { Log.i(TAG, "handleCancelPreJoinCall():"); + GroupCall groupCall = currentState.getCallInfoState().requireGroupCall(); + try { + groupCall.disconnect(); + } catch (CallException e) { + return groupCallFailure(currentState, "Unable to disconnect from group call", e); + } + WebRtcVideoUtil.deinitializeVideo(currentState); EglBaseWrapper.releaseEglBase(RemotePeer.GROUP_CALL_ID.longValue());