diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/WebRtcCallActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/WebRtcCallActivity.kt index 98fab2fafa..d3712e9987 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/WebRtcCallActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/WebRtcCallActivity.kt @@ -8,8 +8,11 @@ import android.content.IntentFilter import android.media.AudioManager import android.os.Build import android.os.Bundle +import android.view.Gravity import android.view.MenuItem +import android.view.ViewGroup import android.view.WindowManager +import android.widget.FrameLayout import androidx.activity.viewModels import androidx.core.content.ContextCompat import androidx.core.view.contains @@ -35,6 +38,7 @@ import org.thoughtcrime.securesms.webrtc.AudioManagerCommand import org.thoughtcrime.securesms.webrtc.CallViewModel import org.thoughtcrime.securesms.webrtc.CallViewModel.State.* import org.thoughtcrime.securesms.webrtc.audio.SignalAudioManager.AudioDevice.* +import org.webrtc.RendererCommon import java.util.* @AndroidEntryPoint @@ -228,6 +232,11 @@ class WebRtcCallActivity: PassphraseRequiredActionBarActivity() { viewModel.localRenderer?.let { surfaceView -> surfaceView.setZOrderOnTop(true) local_renderer.addView(surfaceView) + val params = surfaceView.layoutParams as FrameLayout.LayoutParams + params.width = FrameLayout.LayoutParams.WRAP_CONTENT + params.height = FrameLayout.LayoutParams.WRAP_CONTENT + params.gravity = Gravity.CENTER + surfaceView.layoutParams = params } } local_renderer.isVisible = isEnabled @@ -239,7 +248,14 @@ class WebRtcCallActivity: PassphraseRequiredActionBarActivity() { viewModel.remoteVideoEnabledState.collect { isEnabled -> remote_renderer.removeAllViews() if (isEnabled) { - viewModel.remoteRenderer?.let { remote_renderer.addView(it) } + viewModel.remoteRenderer?.let { surfaceView -> + remote_renderer.addView(surfaceView) + val params = surfaceView.layoutParams as FrameLayout.LayoutParams + params.width = ViewGroup.LayoutParams.WRAP_CONTENT + params.height = ViewGroup.LayoutParams.WRAP_CONTENT + params.gravity = Gravity.CENTER + surfaceView.layoutParams = params + } } remote_renderer.isVisible = isEnabled remote_recipient.isVisible = !isEnabled diff --git a/app/src/main/java/org/thoughtcrime/securesms/webrtc/CallManager.kt b/app/src/main/java/org/thoughtcrime/securesms/webrtc/CallManager.kt index 738af276d1..fdd4786be9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/webrtc/CallManager.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/webrtc/CallManager.kt @@ -175,6 +175,8 @@ class CallManager(context: Context, audioManager: AudioManagerCompat, private va localRenderer = SurfaceViewRenderer(context) remoteRenderer = SurfaceViewRenderer(context) + localRenderer?.setScalingType(RendererCommon.ScalingType.SCALE_ASPECT_FIT) + remoteRenderer?.setScalingType(RendererCommon.ScalingType.SCALE_ASPECT_FIT) localRenderer?.init(base.eglBaseContext, null) remoteRenderer?.init(base.eglBaseContext, null) @@ -184,7 +186,7 @@ class CallManager(context: Context, audioManager: AudioManagerCompat, private va peerConnectionFactory = PeerConnectionFactory.builder() .setOptions(object: PeerConnectionFactory.Options() { init { -// networkIgnoreMask = 1 shl 4 + networkIgnoreMask = 1 shl 4 } }) .setVideoEncoderFactory(encoderFactory) diff --git a/app/src/main/res/layout/activity_webrtc.xml b/app/src/main/res/layout/activity_webrtc.xml index d531aacb22..750bb8b3ab 100644 --- a/app/src/main/res/layout/activity_webrtc.xml +++ b/app/src/main/res/layout/activity_webrtc.xml @@ -59,7 +59,7 @@ android:id="@+id/callTime" android:textSize="@dimen/medium_font_size" android:textColor="@color/text" - tools:text="00:05:20" + tools:text="@tools:sample/date/hhmmss" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintBottom_toTopOf="@+id/sessionCallText" @@ -214,7 +214,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" - app:constraint_referenced_ids="switchCameraButton,enableCameraButton,microphoneButton,speakerPhoneButton" + app:constraint_referenced_ids="switchCameraButton,enableCameraButton,microphoneButton,speakerPhoneButton,acceptCallButton,declineCallButton" /> \ No newline at end of file