diff --git a/app/src/main/java/org/linphone/ui/call/view/RoundCornersTextureView.kt b/app/src/main/java/org/linphone/ui/call/view/RoundCornersTextureView.kt
index 35a49f3ac..7dea7b108 100644
--- a/app/src/main/java/org/linphone/ui/call/view/RoundCornersTextureView.kt
+++ b/app/src/main/java/org/linphone/ui/call/view/RoundCornersTextureView.kt
@@ -86,6 +86,11 @@ class RoundCornersTextureView : CaptureTextureView {
}
}
+ fun setRadius(radius: Float) {
+ mRadius = radius
+ setRoundCorners()
+ }
+
private fun setRoundCorners() {
outlineProvider = object : ViewOutlineProvider() {
override fun getOutline(view: View, outline: Outline) {
diff --git a/app/src/main/java/org/linphone/utils/DataBindingUtils.kt b/app/src/main/java/org/linphone/utils/DataBindingUtils.kt
index 3b3a261bf..3065937f9 100644
--- a/app/src/main/java/org/linphone/utils/DataBindingUtils.kt
+++ b/app/src/main/java/org/linphone/utils/DataBindingUtils.kt
@@ -64,6 +64,7 @@ import org.linphone.contacts.AvatarGenerator
import org.linphone.core.ConsolidatedPresence
import org.linphone.core.tools.Log
import org.linphone.ui.call.conference.model.ConferenceParticipantDeviceModel
+import org.linphone.ui.call.view.RoundCornersTextureView
/**
* This file contains all the data binding necessary for the app
@@ -514,6 +515,11 @@ fun setConstraintLayoutWidthMax(view: View, dp: Float) {
cs.applyTo(layout)
}
+@BindingAdapter("roundCornersRadius")
+fun RoundCornersTextureView.setRoundCornersRadius(radius: Float) {
+ setRadius(radius)
+}
+
@BindingAdapter("focusNextOnInput")
fun focusNextOnInput(editText: EditText, enabled: Boolean) {
if (!enabled) return
diff --git a/app/src/main/res/layout/call_active_conference_fragment.xml b/app/src/main/res/layout/call_active_conference_fragment.xml
index d8a3e9eed..861bd5971 100644
--- a/app/src/main/res/layout/call_active_conference_fragment.xml
+++ b/app/src/main/res/layout/call_active_conference_fragment.xml
@@ -244,6 +244,7 @@
android:visibility="@{conferenceViewModel.isMeParticipantSendingVideo && conferenceViewModel.participants.size() == 1 && !conferenceViewModel.isPaused ? View.VISIBLE : View.GONE}"
app:alignTopRight="true"
app:displayMode="black_bars"
+ roundCornersRadius="@{viewModel.pipMode ? @dimen/call_pip_round_corners_texture_view_radius : @dimen/call_round_corners_texture_view_radius, default=@dimen/call_round_corners_texture_view_radius}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_max="@{viewModel.pipMode ? @dimen/call_video_preview_pip_max_size : @dimen/call_video_preview_max_size, default=@dimen/call_video_preview_max_size}"
diff --git a/app/src/main/res/layout/call_active_fragment.xml b/app/src/main/res/layout/call_active_fragment.xml
index 94347e8e5..f14b8407f 100644
--- a/app/src/main/res/layout/call_active_fragment.xml
+++ b/app/src/main/res/layout/call_active_fragment.xml
@@ -267,6 +267,7 @@
android:visibility="@{viewModel.isSendingVideo && !(viewModel.isPaused || viewModel.isPausedByRemote) ? View.VISIBLE : View.GONE}"
app:alignTopRight="true"
app:displayMode="black_bars"
+ roundCornersRadius="@{viewModel.pipMode ? @dimen/call_pip_round_corners_texture_view_radius : @dimen/call_round_corners_texture_view_radius, default=@dimen/call_round_corners_texture_view_radius}"
app:layout_constraintBottom_toBottomOf="@id/hinge_bottom"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_max="@{viewModel.pipMode ? @dimen/call_video_preview_pip_max_size : @dimen/call_video_preview_max_size, default=@dimen/call_video_preview_max_size}"
diff --git a/app/src/main/res/values/dimen.xml b/app/src/main/res/values/dimen.xml
index 983429319..b0ebb3fcb 100644
--- a/app/src/main/res/values/dimen.xml
+++ b/app/src/main/res/values/dimen.xml
@@ -58,6 +58,7 @@
345dp
120dp
20dp
+ 5dp
55dp
15dp
30dp