Update to RingRTC v2.44.3

This commit is contained in:
Jim Gustafson 2024-07-08 06:48:13 -07:00 committed by Cody Henthorne
parent d91760eefc
commit a3d1197aef
13 changed files with 24 additions and 21 deletions

View file

@ -441,9 +441,6 @@ public class ApplicationContext extends MultiDexApplication implements AppForegr
if (RemoteConfig.callingFieldTrialAnyAddressPortsKillSwitch()) { if (RemoteConfig.callingFieldTrialAnyAddressPortsKillSwitch()) {
fieldTrials.put("RingRTC-AnyAddressPortsKillSwitch", "Enabled"); fieldTrials.put("RingRTC-AnyAddressPortsKillSwitch", "Enabled");
} }
if (!SignalStore.internal().callingDisableLBRed()) {
fieldTrials.put("RingRTC-Audio-LBRed-For-Opus", "Enabled,bitrate_pri:22000");
}
CallManager.initialize(this, new RingRtcLogger(), fieldTrials); CallManager.initialize(this, new RingRtcLogger(), fieldTrials);
} catch (UnsatisfiedLinkError e) { } catch (UnsatisfiedLinkError e) {
throw new AssertionError("Unable to load ringrtc library", e); throw new AssertionError("Unable to load ringrtc library", e);

View file

@ -520,10 +520,10 @@ class InternalSettingsFragment : DSLSettingsFragment(R.string.preferences__inter
) )
switchPref( switchPref(
title = DSLSettingsText.from("Disable LBRed"), title = DSLSettingsText.from("Enable Oboe ADM"),
isChecked = state.callingDisableLBRed, isChecked = state.callingEnableOboeAdm,
onClick = { onClick = {
viewModel.setInternalCallingDisableLBRed(!state.callingDisableLBRed) viewModel.setInternalCallingEnableOboeAdm(!state.callingEnableOboeAdm)
} }
) )

View file

@ -14,7 +14,7 @@ data class InternalSettingsState(
val callingAudioProcessingMethod: CallManager.AudioProcessingMethod, val callingAudioProcessingMethod: CallManager.AudioProcessingMethod,
val callingDataMode: CallManager.DataMode, val callingDataMode: CallManager.DataMode,
val callingDisableTelecom: Boolean, val callingDisableTelecom: Boolean,
val callingDisableLBRed: Boolean, val callingEnableOboeAdm: Boolean,
val useBuiltInEmojiSet: Boolean, val useBuiltInEmojiSet: Boolean,
val emojiVersion: EmojiFiles.Version?, val emojiVersion: EmojiFiles.Version?,
val removeSenderKeyMinimium: Boolean, val removeSenderKeyMinimium: Boolean,

View file

@ -109,8 +109,8 @@ class InternalSettingsViewModel(private val repository: InternalSettingsReposito
refresh() refresh()
} }
fun setInternalCallingDisableLBRed(enabled: Boolean) { fun setInternalCallingEnableOboeAdm(enabled: Boolean) {
preferenceDataStore.putBoolean(InternalValues.CALLING_DISABLE_LBRED, enabled) preferenceDataStore.putBoolean(InternalValues.CALLING_ENABLE_OBOE_ADM, enabled)
refresh() refresh()
} }
@ -150,7 +150,7 @@ class InternalSettingsViewModel(private val repository: InternalSettingsReposito
callingAudioProcessingMethod = SignalStore.internal.callingAudioProcessingMethod(), callingAudioProcessingMethod = SignalStore.internal.callingAudioProcessingMethod(),
callingDataMode = SignalStore.internal.callingDataMode(), callingDataMode = SignalStore.internal.callingDataMode(),
callingDisableTelecom = SignalStore.internal.callingDisableTelecom(), callingDisableTelecom = SignalStore.internal.callingDisableTelecom(),
callingDisableLBRed = SignalStore.internal.callingDisableLBRed(), callingEnableOboeAdm = SignalStore.internal.callingEnableOboeAdm(),
useBuiltInEmojiSet = SignalStore.internal.forceBuiltInEmoji(), useBuiltInEmojiSet = SignalStore.internal.forceBuiltInEmoji(),
emojiVersion = null, emojiVersion = null,
removeSenderKeyMinimium = SignalStore.internal.removeSenderKeyMinimum(), removeSenderKeyMinimium = SignalStore.internal.removeSenderKeyMinimum(),

View file

@ -24,7 +24,7 @@ public final class InternalValues extends SignalStoreValues {
public static final String CALLING_AUDIO_PROCESSING_METHOD = "internal.calling_audio_processing_method"; public static final String CALLING_AUDIO_PROCESSING_METHOD = "internal.calling_audio_processing_method";
public static final String CALLING_DATA_MODE = "internal.calling_bandwidth_mode"; public static final String CALLING_DATA_MODE = "internal.calling_bandwidth_mode";
public static final String CALLING_DISABLE_TELECOM = "internal.calling_disable_telecom"; public static final String CALLING_DISABLE_TELECOM = "internal.calling_disable_telecom";
public static final String CALLING_DISABLE_LBRED = "internal.calling_disable_lbred"; public static final String CALLING_ENABLE_OBOE_ADM = "internal.calling_enable_oboe_adm";
public static final String SHAKE_TO_REPORT = "internal.shake_to_report"; public static final String SHAKE_TO_REPORT = "internal.shake_to_report";
public static final String DISABLE_STORAGE_SERVICE = "internal.disable_storage_service"; public static final String DISABLE_STORAGE_SERVICE = "internal.disable_storage_service";
public static final String FORCE_WEBSOCKET_MODE = "internal.force_websocket_mode"; public static final String FORCE_WEBSOCKET_MODE = "internal.force_websocket_mode";
@ -162,13 +162,13 @@ public final class InternalValues extends SignalStoreValues {
} }
/** /**
* Whether or not LBRed for Opus is manually disabled. * Whether or not the Oboe ADM is used.
*/ */
public synchronized boolean callingDisableLBRed() { public synchronized boolean callingEnableOboeAdm() {
if (RemoteConfig.internalUser()) { if (RemoteConfig.internalUser()) {
return getBoolean(CALLING_DISABLE_LBRED, false); return getBoolean(CALLING_ENABLE_OBOE_ADM, true);
} else { } else {
return true; return false;
} }
} }

View file

@ -63,6 +63,7 @@ class CallLinkPreJoinActionProcessor(
ByteArray(0), ByteArray(0),
AUDIO_LEVELS_INTERVAL, AUDIO_LEVELS_INTERVAL,
getAudioProcessingMethod(), getAudioProcessingMethod(),
SignalStore.internal.callingEnableOboeAdm(),
webRtcInteractor.groupCallObserver webRtcInteractor.groupCallObserver
) )
} catch (e: InvalidInputException) { } catch (e: InvalidInputException) {

View file

@ -53,6 +53,7 @@ public class GroupNetworkUnavailableActionProcessor extends WebRtcActionProcesso
new byte[0], new byte[0],
null, null,
RingRtcDynamicConfiguration.getAudioProcessingMethod(), RingRtcDynamicConfiguration.getAudioProcessingMethod(),
SignalStore.internal().callingEnableOboeAdm(),
webRtcInteractor.getGroupCallObserver()); webRtcInteractor.getGroupCallObserver());
return currentState.builder() return currentState.builder()

View file

@ -51,6 +51,7 @@ public class GroupPreJoinActionProcessor extends GroupActionProcessor {
new byte[0], new byte[0],
AUDIO_LEVELS_INTERVAL, AUDIO_LEVELS_INTERVAL,
RingRtcDynamicConfiguration.getAudioProcessingMethod(), RingRtcDynamicConfiguration.getAudioProcessingMethod(),
SignalStore.internal().callingEnableOboeAdm(),
webRtcInteractor.getGroupCallObserver()); webRtcInteractor.getGroupCallObserver());
try { try {

View file

@ -102,6 +102,7 @@ public class IncomingCallActionProcessor extends DeviceAwareActionProcessor {
context, context,
videoState.getLockableEglBase().require(), videoState.getLockableEglBase().require(),
RingRtcDynamicConfiguration.getAudioProcessingMethod(), RingRtcDynamicConfiguration.getAudioProcessingMethod(),
SignalStore.internal().callingEnableOboeAdm(),
videoState.requireLocalSink(), videoState.requireLocalSink(),
callParticipant.getVideoSink(), callParticipant.getVideoSink(),
videoState.requireCamera(), videoState.requireCamera(),

View file

@ -185,6 +185,7 @@ public final class IncomingGroupCallActionProcessor extends DeviceAwareActionPro
new byte[0], new byte[0],
AUDIO_LEVELS_INTERVAL, AUDIO_LEVELS_INTERVAL,
RingRtcDynamicConfiguration.getAudioProcessingMethod(), RingRtcDynamicConfiguration.getAudioProcessingMethod(),
SignalStore.internal().callingEnableOboeAdm(),
webRtcInteractor.getGroupCallObserver()); webRtcInteractor.getGroupCallObserver());
try { try {

View file

@ -152,6 +152,7 @@ public class OutgoingCallActionProcessor extends DeviceAwareActionProcessor {
context, context,
videoState.getLockableEglBase().require(), videoState.getLockableEglBase().require(),
RingRtcDynamicConfiguration.getAudioProcessingMethod(), RingRtcDynamicConfiguration.getAudioProcessingMethod(),
SignalStore.internal().callingEnableOboeAdm(),
videoState.requireLocalSink(), videoState.requireLocalSink(),
callParticipant.getVideoSink(), callParticipant.getVideoSink(),
videoState.requireCamera(), videoState.requireCamera(),

View file

@ -122,7 +122,7 @@ dependencyResolutionManagement {
library("libsignal-client", "org.signal", "libsignal-client").versionRef("libsignal-client") library("libsignal-client", "org.signal", "libsignal-client").versionRef("libsignal-client")
library("libsignal-android", "org.signal", "libsignal-android").versionRef("libsignal-client") library("libsignal-android", "org.signal", "libsignal-android").versionRef("libsignal-client")
library("signal-aesgcmprovider", "org.signal:aesgcmprovider:0.0.3") library("signal-aesgcmprovider", "org.signal:aesgcmprovider:0.0.3")
library("signal-ringrtc", "org.signal:ringrtc-android:2.44.2") library("signal-ringrtc", "org.signal:ringrtc-android:2.44.3")
library("signal-android-database-sqlcipher", "org.signal:sqlcipher-android:4.5.4-S2") library("signal-android-database-sqlcipher", "org.signal:sqlcipher-android:4.5.4-S2")
// Third Party // Third Party

View file

@ -8328,12 +8328,12 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
<sha256 value="bd3e9d19550ed53f7988a16d9e23bba26c985c673a2cad1ab653b6d8a2aae8b2" origin="Generated by Gradle"/> <sha256 value="bd3e9d19550ed53f7988a16d9e23bba26c985c673a2cad1ab653b6d8a2aae8b2" origin="Generated by Gradle"/>
</artifact> </artifact>
</component> </component>
<component group="org.signal" name="ringrtc-android" version="2.44.2"> <component group="org.signal" name="ringrtc-android" version="2.44.3">
<artifact name="ringrtc-android-2.44.2.aar"> <artifact name="ringrtc-android-2.44.3.aar">
<sha256 value="ec70cf702ce15bd78387eda2cd17b179fdf9f53c71608b9568ab4eae0bc2dd42" origin="Generated by Gradle"/> <sha256 value="d9d16d48fe271178ec34540c99b66840ccda95f95d211d8448ee769ae4c4664a" origin="Generated by Gradle"/>
</artifact> </artifact>
<artifact name="ringrtc-android-2.44.2.module"> <artifact name="ringrtc-android-2.44.3.module">
<sha256 value="6fbce0a84cc82228fde50ac4f5e4b4a375cdb44ed18bf67b150b953adc1b4033" origin="Generated by Gradle"/> <sha256 value="b283441f3f0d08e7432f8eabbc6005282801b2f0e0fed268f8be0e6c9c20585f" origin="Generated by Gradle"/>
</artifact> </artifact>
</component> </component>
<component group="org.signal" name="sqlcipher-android" version="4.5.4-S2"> <component group="org.signal" name="sqlcipher-android" version="4.5.4-S2">