mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-02 08:23:00 +01:00
Update RingRTC to v2.66.0
This commit is contained in:
committed by
jeffrey-signal
parent
04813fe345
commit
d06febd5b5
@@ -20,6 +20,7 @@ import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||
import org.thoughtcrime.securesms.ringrtc.RemotePeer
|
||||
import org.thoughtcrime.securesms.service.webrtc.state.WebRtcServiceState
|
||||
import org.thoughtcrime.securesms.util.NetworkUtil
|
||||
import org.thoughtcrime.securesms.util.RemoteConfig
|
||||
import java.io.IOException
|
||||
|
||||
/**
|
||||
@@ -65,6 +66,8 @@ class CallLinkPreJoinActionProcessor(
|
||||
.groupsV2Authorization
|
||||
.getCallLinkAuthorizationForToday(genericServerPublicParams, callLinkSecretParams)
|
||||
|
||||
val dredDuration: Byte = RemoteConfig.dredDuration.toByte()
|
||||
|
||||
webRtcInteractor.callManager.createCallLinkCall(
|
||||
SignalStore.internal.groupCallingServer,
|
||||
serverPublicParams.endorsementPublicKey,
|
||||
@@ -73,6 +76,7 @@ class CallLinkPreJoinActionProcessor(
|
||||
callLink.credentials.adminPassBytes,
|
||||
ByteArray(0),
|
||||
AUDIO_LEVELS_INTERVAL,
|
||||
dredDuration,
|
||||
RingRtcDynamicConfiguration.getAudioConfig(),
|
||||
webRtcInteractor.groupCallObserver
|
||||
)
|
||||
|
||||
@@ -14,6 +14,7 @@ import org.thoughtcrime.securesms.events.WebRtcViewModel;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
import org.thoughtcrime.securesms.ringrtc.RemotePeer;
|
||||
import org.thoughtcrime.securesms.service.webrtc.state.WebRtcServiceState;
|
||||
import org.thoughtcrime.securesms.util.RemoteConfig;
|
||||
|
||||
/**
|
||||
* Processor which is utilized when the network becomes unavailable during a group call. In general,
|
||||
@@ -48,13 +49,15 @@ public class GroupNetworkUnavailableActionProcessor extends WebRtcActionProcesso
|
||||
return processor.handlePreJoinCall(currentState.builder().actionProcessor(processor).build(), remotePeer);
|
||||
}
|
||||
|
||||
byte[] groupId = currentState.getCallInfoState().getCallRecipient().requireGroupId().getDecodedId();
|
||||
GroupCall groupCall = webRtcInteractor.getCallManager().createGroupCall(groupId,
|
||||
SignalStore.internal().getGroupCallingServer(),
|
||||
new byte[0],
|
||||
null,
|
||||
RingRtcDynamicConfiguration.getAudioConfig(),
|
||||
webRtcInteractor.getGroupCallObserver());
|
||||
byte dredDuration = (byte) RemoteConfig.dredDuration();
|
||||
byte[] groupId = currentState.getCallInfoState().getCallRecipient().requireGroupId().getDecodedId();
|
||||
GroupCall groupCall = webRtcInteractor.getCallManager().createGroupCall(groupId,
|
||||
SignalStore.internal().getGroupCallingServer(),
|
||||
new byte[0],
|
||||
AUDIO_LEVELS_INTERVAL,
|
||||
dredDuration,
|
||||
RingRtcDynamicConfiguration.getAudioConfig(),
|
||||
webRtcInteractor.getGroupCallObserver());
|
||||
|
||||
if (groupCall == null) {
|
||||
return groupCallFailure(currentState, "RingRTC did not create a group call", null);
|
||||
|
||||
@@ -20,6 +20,7 @@ import org.thoughtcrime.securesms.ringrtc.RemotePeer;
|
||||
import org.thoughtcrime.securesms.service.webrtc.state.WebRtcServiceState;
|
||||
import org.thoughtcrime.securesms.service.webrtc.state.WebRtcServiceStateBuilder;
|
||||
import org.thoughtcrime.securesms.util.NetworkUtil;
|
||||
import org.thoughtcrime.securesms.util.RemoteConfig;
|
||||
import org.whispersystems.signalservice.api.messages.calls.OfferMessage;
|
||||
import org.signal.core.models.ServiceId.ACI;
|
||||
|
||||
@@ -46,13 +47,15 @@ public class GroupPreJoinActionProcessor extends GroupActionProcessor {
|
||||
protected @NonNull WebRtcServiceState handlePreJoinCall(@NonNull WebRtcServiceState currentState, @NonNull RemotePeer remotePeer) {
|
||||
Log.i(tag, "handlePreJoinCall():");
|
||||
|
||||
byte[] groupId = currentState.getCallInfoState().getCallRecipient().requireGroupId().getDecodedId();
|
||||
GroupCall groupCall = webRtcInteractor.getCallManager().createGroupCall(groupId,
|
||||
SignalStore.internal().getGroupCallingServer(),
|
||||
new byte[0],
|
||||
AUDIO_LEVELS_INTERVAL,
|
||||
RingRtcDynamicConfiguration.getAudioConfig(),
|
||||
webRtcInteractor.getGroupCallObserver());
|
||||
byte dredDuration = (byte) RemoteConfig.dredDuration();
|
||||
byte[] groupId = currentState.getCallInfoState().getCallRecipient().requireGroupId().getDecodedId();
|
||||
GroupCall groupCall = webRtcInteractor.getCallManager().createGroupCall(groupId,
|
||||
SignalStore.internal().getGroupCallingServer(),
|
||||
new byte[0],
|
||||
AUDIO_LEVELS_INTERVAL,
|
||||
dredDuration,
|
||||
RingRtcDynamicConfiguration.getAudioConfig(),
|
||||
webRtcInteractor.getGroupCallObserver());
|
||||
|
||||
if (groupCall == null) {
|
||||
return groupCallFailure(currentState, "RingRTC did not create a group call", null);
|
||||
|
||||
@@ -30,6 +30,7 @@ import org.thoughtcrime.securesms.service.webrtc.state.WebRtcServiceState;
|
||||
import org.thoughtcrime.securesms.util.AppForegroundObserver;
|
||||
import org.thoughtcrime.securesms.util.NetworkUtil;
|
||||
import org.signal.core.util.Util;
|
||||
import org.thoughtcrime.securesms.util.RemoteConfig;
|
||||
import org.thoughtcrime.securesms.webrtc.locks.LockManager;
|
||||
import org.webrtc.PeerConnection;
|
||||
|
||||
@@ -96,6 +97,7 @@ public class IncomingCallActionProcessor extends DeviceAwareActionProcessor {
|
||||
return currentState;
|
||||
}
|
||||
|
||||
byte dredDuration = (byte) RemoteConfig.dredDuration();
|
||||
boolean hideIp = !activePeer.getRecipient().isProfileSharing() || callSetupState.isAlwaysTurnServers();
|
||||
VideoState videoState = currentState.getVideoState();
|
||||
CallParticipant callParticipant = Objects.requireNonNull(currentState.getCallInfoState().getRemoteCallParticipant(activePeer.getRecipient()));
|
||||
@@ -112,6 +114,7 @@ public class IncomingCallActionProcessor extends DeviceAwareActionProcessor {
|
||||
hideIp,
|
||||
NetworkUtil.getCallingDataMode(context),
|
||||
AUDIO_LEVELS_INTERVAL,
|
||||
dredDuration,
|
||||
false);
|
||||
} catch (CallException e) {
|
||||
return callFailure(currentState, "Unable to proceed with call: ", e);
|
||||
|
||||
@@ -27,6 +27,7 @@ import org.thoughtcrime.securesms.ringrtc.RemotePeer;
|
||||
import org.thoughtcrime.securesms.service.webrtc.state.WebRtcServiceState;
|
||||
import org.thoughtcrime.securesms.util.AppForegroundObserver;
|
||||
import org.thoughtcrime.securesms.util.NetworkUtil;
|
||||
import org.thoughtcrime.securesms.util.RemoteConfig;
|
||||
import org.thoughtcrime.securesms.webrtc.locks.LockManager;
|
||||
|
||||
import java.util.Optional;
|
||||
@@ -218,13 +219,15 @@ public final class IncomingGroupCallActionProcessor extends DeviceAwareActionPro
|
||||
protected @NonNull WebRtcServiceState handleAcceptCall(@NonNull WebRtcServiceState currentState, boolean answerWithVideo) {
|
||||
currentState = WebRtcVideoUtil.reinitializeCamera(context, webRtcInteractor.getCameraEventListener(), currentState);
|
||||
|
||||
byte[] groupId = currentState.getCallInfoState().getCallRecipient().requireGroupId().getDecodedId();
|
||||
GroupCall groupCall = webRtcInteractor.getCallManager().createGroupCall(groupId,
|
||||
SignalStore.internal().getGroupCallingServer(),
|
||||
new byte[0],
|
||||
AUDIO_LEVELS_INTERVAL,
|
||||
RingRtcDynamicConfiguration.getAudioConfig(),
|
||||
webRtcInteractor.getGroupCallObserver());
|
||||
byte dredDuration = (byte) RemoteConfig.dredDuration();
|
||||
byte[] groupId = currentState.getCallInfoState().getCallRecipient().requireGroupId().getDecodedId();
|
||||
GroupCall groupCall = webRtcInteractor.getCallManager().createGroupCall(groupId,
|
||||
SignalStore.internal().getGroupCallingServer(),
|
||||
new byte[0],
|
||||
AUDIO_LEVELS_INTERVAL,
|
||||
dredDuration,
|
||||
RingRtcDynamicConfiguration.getAudioConfig(),
|
||||
webRtcInteractor.getGroupCallObserver());
|
||||
|
||||
if (groupCall == null) {
|
||||
return groupCallFailure(currentState, "RingRTC did not create a group call", null);
|
||||
|
||||
@@ -27,6 +27,7 @@ import org.thoughtcrime.securesms.service.webrtc.state.WebRtcServiceState;
|
||||
import org.thoughtcrime.securesms.service.webrtc.state.WebRtcServiceStateBuilder;
|
||||
import org.thoughtcrime.securesms.util.NetworkUtil;
|
||||
import org.signal.core.util.Util;
|
||||
import org.thoughtcrime.securesms.util.RemoteConfig;
|
||||
import org.thoughtcrime.securesms.webrtc.audio.SignalAudioManager;
|
||||
import org.webrtc.PeerConnection;
|
||||
import org.whispersystems.signalservice.api.messages.calls.OfferMessage;
|
||||
@@ -144,6 +145,7 @@ public class OutgoingCallActionProcessor extends DeviceAwareActionProcessor {
|
||||
return currentState;
|
||||
}
|
||||
|
||||
byte dredDuration = (byte) RemoteConfig.dredDuration();
|
||||
boolean hideIp = !activePeer.getRecipient().isProfileSharing() || callSetupState.isAlwaysTurnServers();
|
||||
VideoState videoState = currentState.getVideoState();
|
||||
CallParticipant callParticipant = Objects.requireNonNull(currentState.getCallInfoState().getRemoteCallParticipant(activePeer.getRecipient()));
|
||||
@@ -160,6 +162,7 @@ public class OutgoingCallActionProcessor extends DeviceAwareActionProcessor {
|
||||
hideIp,
|
||||
NetworkUtil.getCallingDataMode(context),
|
||||
AUDIO_LEVELS_INTERVAL,
|
||||
dredDuration,
|
||||
currentState.getCallSetupState(activePeer).isEnableVideoOnCreate());
|
||||
} catch (CallException e) {
|
||||
return callFailure(currentState, "Unable to proceed with call: ", e);
|
||||
|
||||
@@ -1339,5 +1339,13 @@ object RemoteConfig {
|
||||
defaultValue = 1.days.inWholeSeconds,
|
||||
hotSwappable = true
|
||||
)
|
||||
|
||||
@JvmStatic
|
||||
@get:JvmName("dredDuration")
|
||||
val dredDuration: Int by remoteInt(
|
||||
key = "global.calling.dredDuration",
|
||||
defaultValue = 0,
|
||||
hotSwappable = true
|
||||
)
|
||||
// endregion
|
||||
}
|
||||
|
||||
@@ -170,7 +170,7 @@ libsignal-client = { module = "org.signal:libsignal-client", version.ref = "libs
|
||||
libsignal-android = { module = "org.signal:libsignal-android", version.ref = "libsignal-client" }
|
||||
protobuf-gradle-plugin = { module = "com.google.protobuf:protobuf-gradle-plugin", version.ref = "protobuf-gradle-plugin" }
|
||||
signal-aesgcmprovider = "org.signal:aesgcmprovider:0.0.4"
|
||||
signal-ringrtc = "org.signal:ringrtc-android:2.65.3"
|
||||
signal-ringrtc = "org.signal:ringrtc-android:2.66.0"
|
||||
|
||||
# Third Party
|
||||
signal-android-database-sqlcipher = "net.zetetic:sqlcipher-android:4.13.0"
|
||||
|
||||
@@ -16807,12 +16807,12 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
|
||||
<sha256 value="e10cf3613d5ccb1ab27684bc1ff43f6fd2c81cbc90e085d1c866874ec9e5f3c8" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="org.signal" name="ringrtc-android" version="2.65.3">
|
||||
<artifact name="ringrtc-android-2.65.3.aar">
|
||||
<sha256 value="b65206996523724b39ba98c7a08532e92c9981d088b92eced1200a1b359f30e1" origin="Generated by Gradle"/>
|
||||
<component group="org.signal" name="ringrtc-android" version="2.66.0">
|
||||
<artifact name="ringrtc-android-2.66.0.aar">
|
||||
<sha256 value="bf62fd1b3fffe288920d7aa634679582be40dd30265d97b8bc5eb412c0ef50f8" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="ringrtc-android-2.65.3.module">
|
||||
<sha256 value="6e9b72556123192301a55e818b6bdb33f2d79f509d0e9ff52946f8e9474d7a90" origin="Generated by Gradle"/>
|
||||
<artifact name="ringrtc-android-2.66.0.module">
|
||||
<sha256 value="b012abee1fc91c0c7ea3736403cccb4240ce44f1595a919e1e9b034f1911edb8" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="org.signal" name="sqlcipher-android" version="4.6.0-S1">
|
||||
|
||||
Reference in New Issue
Block a user