From 04cb1b7d2e99cba73073955ed77dc3f325fac0ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Mart=C3=ADn?= Date: Mon, 12 Aug 2024 12:54:51 +0200 Subject: [PATCH] Fix `OidcView` preview --- .../libraries/oidc/impl/webview/OidcView.kt | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/libraries/oidc/impl/src/main/kotlin/io/element/android/libraries/oidc/impl/webview/OidcView.kt b/libraries/oidc/impl/src/main/kotlin/io/element/android/libraries/oidc/impl/webview/OidcView.kt index 56a04cb0ea..0ba9d4ea52 100644 --- a/libraries/oidc/impl/src/main/kotlin/io/element/android/libraries/oidc/impl/webview/OidcView.kt +++ b/libraries/oidc/impl/src/main/kotlin/io/element/android/libraries/oidc/impl/webview/OidcView.kt @@ -27,6 +27,7 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalInspectionMode import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.viewinterop.AndroidView import io.element.android.libraries.core.bool.orFalse @@ -45,6 +46,7 @@ fun OidcView( onNavigateBack: () -> Unit, modifier: Modifier = Modifier, ) { + val isPreview = LocalInspectionMode.current val oidcUrlParser = remember { OidcUrlParser() } var webView by remember { mutableStateOf(null) } fun shouldOverrideUrl(url: String): Boolean { @@ -86,16 +88,18 @@ fun OidcView( modifier = Modifier.padding(contentPadding), factory = { context -> WebView(context).apply { - webViewClient = oidcWebViewClient - settings.apply { - @SuppressLint("SetJavaScriptEnabled") - javaScriptEnabled = true - allowContentAccess = true - allowFileAccess = true - databaseEnabled = true - domStorageEnabled = true + if (!isPreview) { + webViewClient = oidcWebViewClient + settings.apply { + @SuppressLint("SetJavaScriptEnabled") + javaScriptEnabled = true + allowContentAccess = true + allowFileAccess = true + databaseEnabled = true + domStorageEnabled = true + } + loadUrl(state.oidcDetails.url) } - loadUrl(state.oidcDetails.url) }.also { webView = it }