diff --git a/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java b/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java
index 171a1a2a73..88675d9fa1 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java
@@ -441,9 +441,6 @@ public class ApplicationContext extends MultiDexApplication implements AppForegr
if (RemoteConfig.callingFieldTrialAnyAddressPortsKillSwitch()) {
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);
} catch (UnsatisfiedLinkError e) {
throw new AssertionError("Unable to load ringrtc library", e);
diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsFragment.kt
index 6332b8181b..6dad5eb363 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsFragment.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsFragment.kt
@@ -520,10 +520,10 @@ class InternalSettingsFragment : DSLSettingsFragment(R.string.preferences__inter
)
switchPref(
- title = DSLSettingsText.from("Disable LBRed"),
- isChecked = state.callingDisableLBRed,
+ title = DSLSettingsText.from("Enable Oboe ADM"),
+ isChecked = state.callingEnableOboeAdm,
onClick = {
- viewModel.setInternalCallingDisableLBRed(!state.callingDisableLBRed)
+ viewModel.setInternalCallingEnableOboeAdm(!state.callingEnableOboeAdm)
}
)
diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsState.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsState.kt
index 3adedb3d21..98e83cf47c 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsState.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsState.kt
@@ -14,7 +14,7 @@ data class InternalSettingsState(
val callingAudioProcessingMethod: CallManager.AudioProcessingMethod,
val callingDataMode: CallManager.DataMode,
val callingDisableTelecom: Boolean,
- val callingDisableLBRed: Boolean,
+ val callingEnableOboeAdm: Boolean,
val useBuiltInEmojiSet: Boolean,
val emojiVersion: EmojiFiles.Version?,
val removeSenderKeyMinimium: Boolean,
diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsViewModel.kt
index 872158c926..46c9bb73c0 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsViewModel.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsViewModel.kt
@@ -109,8 +109,8 @@ class InternalSettingsViewModel(private val repository: InternalSettingsReposito
refresh()
}
- fun setInternalCallingDisableLBRed(enabled: Boolean) {
- preferenceDataStore.putBoolean(InternalValues.CALLING_DISABLE_LBRED, enabled)
+ fun setInternalCallingEnableOboeAdm(enabled: Boolean) {
+ preferenceDataStore.putBoolean(InternalValues.CALLING_ENABLE_OBOE_ADM, enabled)
refresh()
}
@@ -150,7 +150,7 @@ class InternalSettingsViewModel(private val repository: InternalSettingsReposito
callingAudioProcessingMethod = SignalStore.internal.callingAudioProcessingMethod(),
callingDataMode = SignalStore.internal.callingDataMode(),
callingDisableTelecom = SignalStore.internal.callingDisableTelecom(),
- callingDisableLBRed = SignalStore.internal.callingDisableLBRed(),
+ callingEnableOboeAdm = SignalStore.internal.callingEnableOboeAdm(),
useBuiltInEmojiSet = SignalStore.internal.forceBuiltInEmoji(),
emojiVersion = null,
removeSenderKeyMinimium = SignalStore.internal.removeSenderKeyMinimum(),
diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyvalue/InternalValues.java b/app/src/main/java/org/thoughtcrime/securesms/keyvalue/InternalValues.java
index f9f3f92a45..d4eba07b32 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/keyvalue/InternalValues.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/keyvalue/InternalValues.java
@@ -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_DATA_MODE = "internal.calling_bandwidth_mode";
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 DISABLE_STORAGE_SERVICE = "internal.disable_storage_service";
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()) {
- return getBoolean(CALLING_DISABLE_LBRED, false);
+ return getBoolean(CALLING_ENABLE_OBOE_ADM, true);
} else {
- return true;
+ return false;
}
}
diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/CallLinkPreJoinActionProcessor.kt b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/CallLinkPreJoinActionProcessor.kt
index 531fde4322..8c499a1637 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/CallLinkPreJoinActionProcessor.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/CallLinkPreJoinActionProcessor.kt
@@ -63,6 +63,7 @@ class CallLinkPreJoinActionProcessor(
ByteArray(0),
AUDIO_LEVELS_INTERVAL,
getAudioProcessingMethod(),
+ SignalStore.internal.callingEnableOboeAdm(),
webRtcInteractor.groupCallObserver
)
} catch (e: InvalidInputException) {
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 6582e552f7..493ba1b066 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
@@ -53,6 +53,7 @@ public class GroupNetworkUnavailableActionProcessor extends WebRtcActionProcesso
new byte[0],
null,
RingRtcDynamicConfiguration.getAudioProcessingMethod(),
+ SignalStore.internal().callingEnableOboeAdm(),
webRtcInteractor.getGroupCallObserver());
return currentState.builder()
diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupPreJoinActionProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupPreJoinActionProcessor.java
index 8114332845..be726529f3 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupPreJoinActionProcessor.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupPreJoinActionProcessor.java
@@ -51,6 +51,7 @@ public class GroupPreJoinActionProcessor extends GroupActionProcessor {
new byte[0],
AUDIO_LEVELS_INTERVAL,
RingRtcDynamicConfiguration.getAudioProcessingMethod(),
+ SignalStore.internal().callingEnableOboeAdm(),
webRtcInteractor.getGroupCallObserver());
try {
diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/IncomingCallActionProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/IncomingCallActionProcessor.java
index 889532ab65..533de5c339 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/IncomingCallActionProcessor.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/IncomingCallActionProcessor.java
@@ -102,6 +102,7 @@ public class IncomingCallActionProcessor extends DeviceAwareActionProcessor {
context,
videoState.getLockableEglBase().require(),
RingRtcDynamicConfiguration.getAudioProcessingMethod(),
+ SignalStore.internal().callingEnableOboeAdm(),
videoState.requireLocalSink(),
callParticipant.getVideoSink(),
videoState.requireCamera(),
diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/IncomingGroupCallActionProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/IncomingGroupCallActionProcessor.java
index 936ee9872a..47d7467ba8 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/IncomingGroupCallActionProcessor.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/IncomingGroupCallActionProcessor.java
@@ -185,6 +185,7 @@ public final class IncomingGroupCallActionProcessor extends DeviceAwareActionPro
new byte[0],
AUDIO_LEVELS_INTERVAL,
RingRtcDynamicConfiguration.getAudioProcessingMethod(),
+ SignalStore.internal().callingEnableOboeAdm(),
webRtcInteractor.getGroupCallObserver());
try {
diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/OutgoingCallActionProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/OutgoingCallActionProcessor.java
index 3df6477f52..8658aca339 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/OutgoingCallActionProcessor.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/OutgoingCallActionProcessor.java
@@ -152,6 +152,7 @@ public class OutgoingCallActionProcessor extends DeviceAwareActionProcessor {
context,
videoState.getLockableEglBase().require(),
RingRtcDynamicConfiguration.getAudioProcessingMethod(),
+ SignalStore.internal().callingEnableOboeAdm(),
videoState.requireLocalSink(),
callParticipant.getVideoSink(),
videoState.requireCamera(),
diff --git a/dependencies.gradle.kts b/dependencies.gradle.kts
index 88f7e44cc9..0f5c23ba18 100644
--- a/dependencies.gradle.kts
+++ b/dependencies.gradle.kts
@@ -122,7 +122,7 @@ dependencyResolutionManagement {
library("libsignal-client", "org.signal", "libsignal-client").versionRef("libsignal-client")
library("libsignal-android", "org.signal", "libsignal-android").versionRef("libsignal-client")
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")
// Third Party
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index 833ab52774..becadc74eb 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -8328,12 +8328,12 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
-
-
-
+
+
+
-
-
+
+