diff --git a/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java b/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java
index 42a39e5e15..1812a72d3f 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java
@@ -39,7 +39,7 @@ import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatDelegate;
import androidx.core.content.ContextCompat;
import androidx.core.util.Consumer;
-import androidx.lifecycle.ViewModelProviders;
+import androidx.lifecycle.ViewModelProvider;
import androidx.window.DisplayFeature;
import androidx.window.FoldingFeature;
import androidx.window.WindowLayoutInfo;
@@ -167,9 +167,7 @@ public class WebRtcCallActivity extends BaseActivity implements SafetyNumberChan
ephemeralStateDisposable = ApplicationDependencies.getSignalCallManager()
.ephemeralStates()
.observeOn(AndroidSchedulers.mainThread())
- .subscribe(state -> {
- viewModel.updateFromEphemeralState(state);
- });
+ .subscribe(viewModel::updateFromEphemeralState);
}
@Override
@@ -306,7 +304,7 @@ public class WebRtcCallActivity extends BaseActivity implements SafetyNumberChan
WebRtcCallViewModel.Factory factory = new WebRtcCallViewModel.Factory(deviceOrientationMonitor);
- viewModel = ViewModelProviders.of(this, factory).get(WebRtcCallViewModel.class);
+ viewModel = new ViewModelProvider(this, factory).get(WebRtcCallViewModel.class);
viewModel.setIsLandscapeEnabled(isLandscapeEnabled);
viewModel.setIsInPipMode(isInPipMode());
viewModel.getMicrophoneEnabled().observe(this, callScreen::setMicEnabled);
diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/CallSetupActionProcessorDelegate.java b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/CallSetupActionProcessorDelegate.java
index 90720826bd..baeb1a2619 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/CallSetupActionProcessorDelegate.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/CallSetupActionProcessorDelegate.java
@@ -98,6 +98,16 @@ public class CallSetupActionProcessorDelegate extends WebRtcActionProcessor {
.cameraState(camera.getCameraState())
.build();
+ //noinspection SimplifiableBooleanExpression
+ if ((enable && camera.isInitialized()) || !enable) {
+ try {
+ CallManager callManager = webRtcInteractor.getCallManager();
+ callManager.setVideoEnable(enable);
+ } catch (CallException e) {
+ Log.w(tag, "Unable change video enabled state to " + enable, e);
+ }
+ }
+
WebRtcUtil.enableSpeakerPhoneIfNeeded(webRtcInteractor, currentState);
return currentState;
diff --git a/app/src/main/res/layout/webrtc_call_view_large_local_render.xml b/app/src/main/res/layout/webrtc_call_view_large_local_render.xml
deleted file mode 100644
index eb75a4d6d1..0000000000
--- a/app/src/main/res/layout/webrtc_call_view_large_local_render.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/dependencies.gradle b/dependencies.gradle
index e8fec534bb..94e7e48213 100644
--- a/dependencies.gradle
+++ b/dependencies.gradle
@@ -76,7 +76,7 @@ dependencyResolutionManagement {
alias('libsignal-android').to('org.signal', 'libsignal-android').versionRef('libsignal-client')
alias('signal-aesgcmprovider').to('org.signal:aesgcmprovider:0.0.3')
alias('signal-argon2').to('org.signal:argon2:13.1')
- alias('signal-ringrtc').to('org.signal:ringrtc-android:2.20.2')
+ alias('signal-ringrtc').to('org.signal:ringrtc-android:2.20.4')
alias('signal-android-database-sqlcipher').to('org.signal:android-database-sqlcipher:4.4.3-S8')
// Third Party
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index 4cd7360597..75d6b7e081 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -3626,14 +3626,9 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
-
-
-
-
-
-
-
-
+
+
+