diff --git a/app/src/main/java/org/linphone/ui/call/fragment/GenericCallFragment.kt b/app/src/main/java/org/linphone/ui/call/fragment/GenericCallFragment.kt index 010e13ca0..6d0aded9f 100644 --- a/app/src/main/java/org/linphone/ui/call/fragment/GenericCallFragment.kt +++ b/app/src/main/java/org/linphone/ui/call/fragment/GenericCallFragment.kt @@ -20,6 +20,7 @@ package org.linphone.ui.call.fragment import android.annotation.SuppressLint +import android.content.res.Configuration import android.os.Bundle import android.view.MotionEvent import android.view.View @@ -49,6 +50,7 @@ abstract class GenericCallFragment : GenericFragment() { MotionEvent.ACTION_UP -> { sharedViewModel.videoPreviewX = view.x sharedViewModel.videoPreviewY = view.y + sharedViewModel.videoPreviewOrientation = resources.configuration.orientation true } MotionEvent.ACTION_MOVE -> { @@ -82,10 +84,13 @@ abstract class GenericCallFragment : GenericFragment() { } // To restore video preview position if possible - if (sharedViewModel.videoPreviewX != 0f && sharedViewModel.videoPreviewY != 0f) { - Log.i("$TAG Restoring video preview position with position X [${sharedViewModel.videoPreviewX}] and Y [${sharedViewModel.videoPreviewY}]") - localPreviewVideoSurface.x = sharedViewModel.videoPreviewX - localPreviewVideoSurface.y = sharedViewModel.videoPreviewY + val currentOrientation = resources.configuration.orientation + if (sharedViewModel.videoPreviewOrientation == currentOrientation || sharedViewModel.videoPreviewOrientation == Configuration.ORIENTATION_UNDEFINED) { + if (sharedViewModel.videoPreviewX != 0f && sharedViewModel.videoPreviewY != 0f) { + Log.i("$TAG Restoring video preview position with position X [${sharedViewModel.videoPreviewX}] and Y [${sharedViewModel.videoPreviewY}]") + localPreviewVideoSurface.x = sharedViewModel.videoPreviewX + localPreviewVideoSurface.y = sharedViewModel.videoPreviewY + } } localPreviewVideoSurface.setOnTouchListener(videoPreviewTouchListener) diff --git a/app/src/main/java/org/linphone/ui/call/viewmodel/SharedCallViewModel.kt b/app/src/main/java/org/linphone/ui/call/viewmodel/SharedCallViewModel.kt index a551b151f..212436853 100644 --- a/app/src/main/java/org/linphone/ui/call/viewmodel/SharedCallViewModel.kt +++ b/app/src/main/java/org/linphone/ui/call/viewmodel/SharedCallViewModel.kt @@ -19,6 +19,7 @@ */ package org.linphone.ui.call.viewmodel +import android.content.res.Configuration import androidx.annotation.UiThread import androidx.lifecycle.MutableLiveData import androidx.window.layout.FoldingFeature @@ -35,4 +36,5 @@ class SharedCallViewModel // For moving video preview purposes var videoPreviewX: Float = 0f var videoPreviewY: Float = 0f + var videoPreviewOrientation: Int = Configuration.ORIENTATION_UNDEFINED } diff --git a/app/src/main/res/layout-land/call_outgoing_fragment.xml b/app/src/main/res/layout-land/call_outgoing_fragment.xml index 44f121c27..2cf0ca382 100644 --- a/app/src/main/res/layout-land/call_outgoing_fragment.xml +++ b/app/src/main/res/layout-land/call_outgoing_fragment.xml @@ -125,7 +125,7 @@ android:layout_marginBottom="10dp" app:alignTopRight="true" app:displayMode="black_bars" - app:radius="@dimen/call_round_corners_texture_view_radius" + roundCornersRadius="@dimen/call_round_corners_texture_view_radius" app:layout_constraintBottom_toTopOf="@id/bottom_bar" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHeight_max="@dimen/call_video_preview_max_size" diff --git a/app/src/main/res/layout/call_conference_participants_list_fragment.xml b/app/src/main/res/layout/call_conference_participants_list_fragment.xml index 7548fc158..dffa03d9b 100644 --- a/app/src/main/res/layout/call_conference_participants_list_fragment.xml +++ b/app/src/main/res/layout/call_conference_participants_list_fragment.xml @@ -88,7 +88,7 @@ android:layout_marginEnd="10dp" app:alignTopRight="true" app:displayMode="black_bars" - app:radius="@dimen/call_round_corners_texture_view_radius" + roundCornersRadius="@dimen/call_round_corners_texture_view_radius" app:layout_constraintBottom_toTopOf="@id/add_participants" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHeight_max="@dimen/call_video_preview_max_size" diff --git a/app/src/main/res/layout/call_outgoing_fragment.xml b/app/src/main/res/layout/call_outgoing_fragment.xml index e12ddbdc3..2cf44c975 100644 --- a/app/src/main/res/layout/call_outgoing_fragment.xml +++ b/app/src/main/res/layout/call_outgoing_fragment.xml @@ -120,7 +120,7 @@ android:layout_marginBottom="10dp" app:alignTopRight="true" app:displayMode="black_bars" - app:radius="@dimen/call_round_corners_texture_view_radius" + roundCornersRadius="@dimen/call_round_corners_texture_view_radius" app:layout_constraintBottom_toTopOf="@id/bottom_bar" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHeight_max="@dimen/call_video_preview_max_size" diff --git a/app/src/main/res/layout/calls_list_fragment.xml b/app/src/main/res/layout/calls_list_fragment.xml index 277d58ece..697c5fcf6 100644 --- a/app/src/main/res/layout/calls_list_fragment.xml +++ b/app/src/main/res/layout/calls_list_fragment.xml @@ -86,7 +86,7 @@ android:layout_marginEnd="10dp" app:alignTopRight="true" app:displayMode="black_bars" - app:radius="@dimen/call_round_corners_texture_view_radius" + roundCornersRadius="@dimen/call_round_corners_texture_view_radius" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHeight_max="@dimen/call_video_preview_max_size"