diff --git a/ring-android/app/src/main/java/cx/ring/fragments/CallFragment.kt b/ring-android/app/src/main/java/cx/ring/fragments/CallFragment.kt index de5b9330fe1405ac8cffa730275dabaddc1d2ded..2adcd685e79ed66cf6f48e50a53c7907c0bf4927 100644 --- a/ring-android/app/src/main/java/cx/ring/fragments/CallFragment.kt +++ b/ring-android/app/src/main/java/cx/ring/fragments/CallFragment.kt @@ -34,6 +34,7 @@ import android.content.Context import android.content.Intent import android.content.pm.PackageManager import android.content.res.Configuration +import android.content.res.Resources import android.graphics.* import android.graphics.drawable.Drawable import android.graphics.drawable.Icon @@ -63,6 +64,7 @@ import androidx.core.view.* import androidx.databinding.DataBindingUtil import androidx.percentlayout.widget.PercentFrameLayout import com.google.android.material.bottomsheet.BottomSheetBehavior +import com.google.zxing.Dimension import cx.ring.R import cx.ring.adapters.ConfParticipantAdapter import cx.ring.adapters.ConfParticipantAdapter.ConfParticipantSelected @@ -181,11 +183,12 @@ class CallFragment : BaseSupportFragment<CallPresenter, CallView>(), CallView, val windowManager = view.context.getSystemService(Context.WINDOW_SERVICE) as WindowManager mCurrentOrientation = windowManager.defaultDisplay.rotation val dpRatio = requireActivity().resources.displayMetrics.density + val previewContainerMargin = resources.getDimensionPixelSize(R.dimen.call_preview_margin) animation.addUpdateListener { valueAnimator -> binding?.let { binding -> val upBy = valueAnimator.animatedValue as Int val layoutParams = binding.previewContainer.layoutParams as RelativeLayout.LayoutParams - layoutParams.setMargins(0, 0, 0, (upBy * dpRatio).toInt()) + layoutParams.setMargins(previewContainerMargin, previewContainerMargin, previewContainerMargin, (upBy * dpRatio).toInt()) binding.previewContainer.layoutParams = layoutParams } } @@ -253,14 +256,10 @@ class CallFragment : BaseSupportFragment<CallPresenter, CallView>(), CallView, binding.callSpeakerBtn.isChecked = presenter.isSpeakerphoneOn binding.callMicBtn.isChecked = presenter.isMicrophoneMuted + binding.pluginPreviewSurface.addOnLayoutChangeListener { _, _, _, _, _, _, _, _, _ -> configureTransform(mPreviewSurfaceWidth, mPreviewSurfaceHeight) } - binding.previewSurface.surfaceTextureListener = listener - binding.previewSurface.addOnLayoutChangeListener { _, _, _, _, _, _, _, _, _ -> - configureTransform(mPreviewSurfaceWidth, mPreviewSurfaceHeight) - } - binding.previewContainer.setOnTouchListener(previewTouchListener) binding.pluginPreviewContainer.setOnTouchListener { v: View, event: MotionEvent -> val action = event.actionMasked val parent = v.parent as RelativeLayout @@ -361,6 +360,13 @@ class CallFragment : BaseSupportFragment<CallPresenter, CallView>(), CallView, else -> false } } + + binding.previewSurface.surfaceTextureListener = listener + binding.previewSurface.addOnLayoutChangeListener { _, _, _, _, _, _, _, _, _ -> + configureTransform(mPreviewSurfaceWidth, mPreviewSurfaceHeight) + } + binding.previewContainer.setOnTouchListener(previewTouchListener) + binding.dialpadEditText.addTextChangedListener(object : TextWatcher { override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {} override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {