Fix OidcView preview

This commit is contained in:
Jorge Martín 2024-08-12 12:54:51 +02:00
parent 0ddadd8c5a
commit 04cb1b7d2e

View file

@ -27,6 +27,7 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalInspectionMode
import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.viewinterop.AndroidView import androidx.compose.ui.viewinterop.AndroidView
import io.element.android.libraries.core.bool.orFalse import io.element.android.libraries.core.bool.orFalse
@ -45,6 +46,7 @@ fun OidcView(
onNavigateBack: () -> Unit, onNavigateBack: () -> Unit,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
) { ) {
val isPreview = LocalInspectionMode.current
val oidcUrlParser = remember { OidcUrlParser() } val oidcUrlParser = remember { OidcUrlParser() }
var webView by remember { mutableStateOf<WebView?>(null) } var webView by remember { mutableStateOf<WebView?>(null) }
fun shouldOverrideUrl(url: String): Boolean { fun shouldOverrideUrl(url: String): Boolean {
@ -86,6 +88,7 @@ fun OidcView(
modifier = Modifier.padding(contentPadding), modifier = Modifier.padding(contentPadding),
factory = { context -> factory = { context ->
WebView(context).apply { WebView(context).apply {
if (!isPreview) {
webViewClient = oidcWebViewClient webViewClient = oidcWebViewClient
settings.apply { settings.apply {
@SuppressLint("SetJavaScriptEnabled") @SuppressLint("SetJavaScriptEnabled")
@ -96,6 +99,7 @@ fun OidcView(
domStorageEnabled = true domStorageEnabled = true
} }
loadUrl(state.oidcDetails.url) loadUrl(state.oidcDetails.url)
}
}.also { }.also {
webView = it webView = it
} }