|
|
@ -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,16 +88,18 @@ fun OidcView( |
|
|
|
modifier = Modifier.padding(contentPadding), |
|
|
|
modifier = Modifier.padding(contentPadding), |
|
|
|
factory = { context -> |
|
|
|
factory = { context -> |
|
|
|
WebView(context).apply { |
|
|
|
WebView(context).apply { |
|
|
|
webViewClient = oidcWebViewClient |
|
|
|
if (!isPreview) { |
|
|
|
settings.apply { |
|
|
|
webViewClient = oidcWebViewClient |
|
|
|
@SuppressLint("SetJavaScriptEnabled") |
|
|
|
settings.apply { |
|
|
|
javaScriptEnabled = true |
|
|
|
@SuppressLint("SetJavaScriptEnabled") |
|
|
|
allowContentAccess = true |
|
|
|
javaScriptEnabled = true |
|
|
|
allowFileAccess = true |
|
|
|
allowContentAccess = true |
|
|
|
databaseEnabled = true |
|
|
|
allowFileAccess = true |
|
|
|
domStorageEnabled = true |
|
|
|
databaseEnabled = true |
|
|
|
|
|
|
|
domStorageEnabled = true |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
loadUrl(state.oidcDetails.url) |
|
|
|
} |
|
|
|
} |
|
|
|
loadUrl(state.oidcDetails.url) |
|
|
|
|
|
|
|
}.also { |
|
|
|
}.also { |
|
|
|
webView = it |
|
|
|
webView = it |
|
|
|
} |
|
|
|
} |
|
|
|