mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-23 18:30:20 +01:00
Add snackbar that is displayed if you're currently in a different call.
This commit is contained in:
committed by
Greyson Parrelli
parent
c36c6e62e2
commit
5bd3eda17d
@@ -51,7 +51,7 @@ public class ActiveCallActionProcessorDelegate extends WebRtcActionProcessor {
|
||||
@Override
|
||||
protected @NonNull WebRtcServiceState handleIsInCallQuery(@NonNull WebRtcServiceState currentState, @Nullable ResultReceiver resultReceiver) {
|
||||
if (resultReceiver != null) {
|
||||
resultReceiver.send(1, null);
|
||||
resultReceiver.send(1, ActiveCallData.fromCallState(currentState).toBundle());
|
||||
}
|
||||
return currentState;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
* Copyright 2024 Signal Messenger, LLC
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
package org.thoughtcrime.securesms.service.webrtc
|
||||
|
||||
import android.os.Bundle
|
||||
import android.os.Parcelable
|
||||
import androidx.core.os.bundleOf
|
||||
import kotlinx.parcelize.Parcelize
|
||||
import org.signal.core.util.getParcelableCompat
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId
|
||||
import org.thoughtcrime.securesms.service.webrtc.state.WebRtcServiceState
|
||||
|
||||
/**
|
||||
* Active call data to be returned from calls to isInCallQuery.
|
||||
*/
|
||||
@Parcelize
|
||||
data class ActiveCallData(
|
||||
val recipientId: RecipientId
|
||||
) : Parcelable {
|
||||
|
||||
companion object {
|
||||
private const val KEY = "ACTIVE_CALL_DATA"
|
||||
|
||||
@JvmStatic
|
||||
fun fromCallState(webRtcServiceState: WebRtcServiceState): ActiveCallData {
|
||||
return ActiveCallData(
|
||||
webRtcServiceState.callInfoState.callRecipient.id
|
||||
)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun fromBundle(bundle: Bundle): ActiveCallData {
|
||||
return bundle.getParcelableCompat(KEY, ActiveCallData::class.java)!!
|
||||
}
|
||||
}
|
||||
|
||||
fun toBundle(): Bundle = bundleOf(KEY to this)
|
||||
}
|
||||
@@ -49,7 +49,7 @@ public class GroupConnectedActionProcessor extends GroupActionProcessor {
|
||||
@Override
|
||||
protected @NonNull WebRtcServiceState handleIsInCallQuery(@NonNull WebRtcServiceState currentState, @Nullable ResultReceiver resultReceiver) {
|
||||
if (resultReceiver != null) {
|
||||
resultReceiver.send(1, null);
|
||||
resultReceiver.send(1, ActiveCallData.fromCallState(currentState).toBundle());
|
||||
}
|
||||
return currentState;
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ public class GroupJoiningActionProcessor extends GroupActionProcessor {
|
||||
@Override
|
||||
protected @NonNull WebRtcServiceState handleIsInCallQuery(@NonNull WebRtcServiceState currentState, @Nullable ResultReceiver resultReceiver) {
|
||||
if (resultReceiver != null) {
|
||||
resultReceiver.send(1, null);
|
||||
resultReceiver.send(1, ActiveCallData.fromCallState(currentState).toBundle());
|
||||
}
|
||||
return currentState;
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@ public abstract class WebRtcActionProcessor {
|
||||
|
||||
protected @NonNull WebRtcServiceState handleIsInCallQuery(@NonNull WebRtcServiceState currentState, @Nullable ResultReceiver resultReceiver) {
|
||||
if (resultReceiver != null) {
|
||||
resultReceiver.send(0, null);
|
||||
resultReceiver.send(0, ActiveCallData.fromCallState(currentState).toBundle());
|
||||
}
|
||||
return currentState;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user