refactor: aspect ratio fit preserved

pull/864/head
jubb 4 years ago
parent ba590909df
commit ef79eb4bb2

@ -8,8 +8,11 @@ import android.content.IntentFilter
import android.media.AudioManager import android.media.AudioManager
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.view.Gravity
import android.view.MenuItem import android.view.MenuItem
import android.view.ViewGroup
import android.view.WindowManager import android.view.WindowManager
import android.widget.FrameLayout
import androidx.activity.viewModels import androidx.activity.viewModels
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.view.contains 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
import org.thoughtcrime.securesms.webrtc.CallViewModel.State.* import org.thoughtcrime.securesms.webrtc.CallViewModel.State.*
import org.thoughtcrime.securesms.webrtc.audio.SignalAudioManager.AudioDevice.* import org.thoughtcrime.securesms.webrtc.audio.SignalAudioManager.AudioDevice.*
import org.webrtc.RendererCommon
import java.util.* import java.util.*
@AndroidEntryPoint @AndroidEntryPoint
@ -228,6 +232,11 @@ class WebRtcCallActivity: PassphraseRequiredActionBarActivity() {
viewModel.localRenderer?.let { surfaceView -> viewModel.localRenderer?.let { surfaceView ->
surfaceView.setZOrderOnTop(true) surfaceView.setZOrderOnTop(true)
local_renderer.addView(surfaceView) 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 local_renderer.isVisible = isEnabled
@ -239,7 +248,14 @@ class WebRtcCallActivity: PassphraseRequiredActionBarActivity() {
viewModel.remoteVideoEnabledState.collect { isEnabled -> viewModel.remoteVideoEnabledState.collect { isEnabled ->
remote_renderer.removeAllViews() remote_renderer.removeAllViews()
if (isEnabled) { 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_renderer.isVisible = isEnabled
remote_recipient.isVisible = !isEnabled remote_recipient.isVisible = !isEnabled

@ -175,6 +175,8 @@ class CallManager(context: Context, audioManager: AudioManagerCompat, private va
localRenderer = SurfaceViewRenderer(context) localRenderer = SurfaceViewRenderer(context)
remoteRenderer = SurfaceViewRenderer(context) remoteRenderer = SurfaceViewRenderer(context)
localRenderer?.setScalingType(RendererCommon.ScalingType.SCALE_ASPECT_FIT)
remoteRenderer?.setScalingType(RendererCommon.ScalingType.SCALE_ASPECT_FIT)
localRenderer?.init(base.eglBaseContext, null) localRenderer?.init(base.eglBaseContext, null)
remoteRenderer?.init(base.eglBaseContext, null) remoteRenderer?.init(base.eglBaseContext, null)
@ -184,7 +186,7 @@ class CallManager(context: Context, audioManager: AudioManagerCompat, private va
peerConnectionFactory = PeerConnectionFactory.builder() peerConnectionFactory = PeerConnectionFactory.builder()
.setOptions(object: PeerConnectionFactory.Options() { .setOptions(object: PeerConnectionFactory.Options() {
init { init {
// networkIgnoreMask = 1 shl 4 networkIgnoreMask = 1 shl 4
} }
}) })
.setVideoEncoderFactory(encoderFactory) .setVideoEncoderFactory(encoderFactory)

@ -59,7 +59,7 @@
android:id="@+id/callTime" android:id="@+id/callTime"
android:textSize="@dimen/medium_font_size" android:textSize="@dimen/medium_font_size"
android:textColor="@color/text" android:textColor="@color/text"
tools:text="00:05:20" tools:text="@tools:sample/date/hhmmss"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toTopOf="@+id/sessionCallText" app:layout_constraintBottom_toTopOf="@+id/sessionCallText"
@ -214,7 +214,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal" android:orientation="horizontal"
app:constraint_referenced_ids="switchCameraButton,enableCameraButton,microphoneButton,speakerPhoneButton" app:constraint_referenced_ids="switchCameraButton,enableCameraButton,microphoneButton,speakerPhoneButton,acceptCallButton,declineCallButton"
/> />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
Loading…
Cancel
Save