From 7fe554be3c8c47f445b7e523e049a830b388cd1e Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 2 Mar 2026 10:10:46 +0100 Subject: [PATCH] Fixed crash due to TextureView API not called from main thread --- .../org/linphone/ui/call/view/RoundCornersTextureView.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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 7dea7b108..89484339d 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 @@ -25,7 +25,9 @@ import android.graphics.Rect import android.util.AttributeSet import android.view.View import android.view.ViewOutlineProvider +import androidx.annotation.MainThread import androidx.annotation.UiThread +import org.linphone.LinphoneApplication.Companion.coreContext import java.lang.NumberFormatException import org.linphone.R import org.linphone.mediastream.video.capture.CaptureTextureView @@ -86,11 +88,13 @@ class RoundCornersTextureView : CaptureTextureView { } } + @MainThread fun setRadius(radius: Float) { mRadius = radius setRoundCorners() } + @MainThread private fun setRoundCorners() { outlineProvider = object : ViewOutlineProvider() { override fun getOutline(view: View, outline: Outline) { @@ -123,7 +127,9 @@ class RoundCornersTextureView : CaptureTextureView { val previewSize = previewVideoSize if (previewSize.width > 0 && previewSize.height > 0) { - setRoundCorners() + coreContext.postOnMainThread { + setRoundCorners() + } } } }