|  | @@ -5,10 +5,13 @@ import android.app.Activity
 | 
												
													
														
															|  |  import android.content.Intent
 |  |  import android.content.Intent
 | 
												
													
														
															|  |  import android.graphics.Bitmap
 |  |  import android.graphics.Bitmap
 | 
												
													
														
															|  |  import android.net.Uri
 |  |  import android.net.Uri
 | 
												
													
														
															|  | 
 |  | +import android.net.http.SslError
 | 
												
													
														
															|  | 
 |  | +import android.os.Build
 | 
												
													
														
															|  |  import android.util.Log
 |  |  import android.util.Log
 | 
												
													
														
															|  |  import android.view.View
 |  |  import android.view.View
 | 
												
													
														
															|  |  import android.view.ViewGroup
 |  |  import android.view.ViewGroup
 | 
												
													
														
															|  |  import android.webkit.PermissionRequest
 |  |  import android.webkit.PermissionRequest
 | 
												
													
														
															|  | 
 |  | +import android.webkit.SslErrorHandler
 | 
												
													
														
															|  |  import android.webkit.ValueCallback
 |  |  import android.webkit.ValueCallback
 | 
												
													
														
															|  |  import android.webkit.WebChromeClient
 |  |  import android.webkit.WebChromeClient
 | 
												
													
														
															|  |  import android.webkit.WebResourceError
 |  |  import android.webkit.WebResourceError
 | 
												
											
												
													
														
															|  | @@ -81,7 +84,7 @@ fun CustomerSupport(navHostController: NavHostController, activity: ComponentAct
 | 
												
													
														
															|  |          val email = basePreferenceHelper.getUser()?.userinfo?.email ?: ""
 |  |          val email = basePreferenceHelper.getUser()?.userinfo?.email ?: ""
 | 
												
													
														
															|  |          val supportUrl = "https://api.fastestvpn.com/v2/chat?device=ios&email=$email"
 |  |          val supportUrl = "https://api.fastestvpn.com/v2/chat?device=ios&email=$email"
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  | -        var showLoader by remember { mutableStateOf(true) }
 |  | 
 | 
												
													
														
															|  | 
 |  | +//        var showLoader by remember { mutableStateOf(true) }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |          ShowHeaderCS(navHostController = navHostController)
 |  |          ShowHeaderCS(navHostController = navHostController)
 | 
												
													
														
															|  |  
 |  |  
 | 
												
											
												
													
														
															|  | @@ -95,105 +98,13 @@ fun CustomerSupport(navHostController: NavHostController, activity: ComponentAct
 | 
												
													
														
															|  |              window.navigationBarColor = colorResource(id = R.color.white).toArgb()
 |  |              window.navigationBarColor = colorResource(id = R.color.white).toArgb()
 | 
												
													
														
															|  |              WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = true
 |  |              WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = true
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  | -            AndroidView(factory = {
 |  | 
 | 
												
													
														
															|  | -                WebView(it).apply {
 |  | 
 | 
												
													
														
															|  | -                    layoutParams = ViewGroup.LayoutParams(
 |  | 
 | 
												
													
														
															|  | -                        ViewGroup.LayoutParams.MATCH_PARENT,
 |  | 
 | 
												
													
														
															|  | -                        ViewGroup.LayoutParams.MATCH_PARENT
 |  | 
 | 
												
													
														
															|  | -                    )
 |  | 
 | 
												
													
														
															|  | -                    webViewClient = WebViewClient()
 |  | 
 | 
												
													
														
															|  | -
 |  | 
 | 
												
													
														
															|  | -                    settings.javaScriptEnabled = true
 |  | 
 | 
												
													
														
															|  | -                    settings.allowContentAccess = true
 |  | 
 | 
												
													
														
															|  | -                    settings.allowFileAccess = true
 |  | 
 | 
												
													
														
															|  | -                    settings.allowFileAccessFromFileURLs = true
 |  | 
 | 
												
													
														
															|  | -                    settings.allowUniversalAccessFromFileURLs = true
 |  | 
 | 
												
													
														
															|  | -                    settings.databaseEnabled = true
 |  | 
 | 
												
													
														
															|  | -                    settings.domStorageEnabled = true
 |  | 
 | 
												
													
														
															|  | -                    settings.loadsImagesAutomatically = true
 |  | 
 | 
												
													
														
															|  | -                    settings.builtInZoomControls = true
 |  | 
 | 
												
													
														
															|  | -                    settings.displayZoomControls = true
 |  | 
 | 
												
													
														
															|  | -                    settings.mediaPlaybackRequiresUserGesture = false
 |  | 
 | 
												
													
														
															|  | -                    settings.supportZoom()
 |  | 
 | 
												
													
														
															|  | -                    settings.loadWithOverviewMode = true
 |  | 
 | 
												
													
														
															|  | -                    setLayerType(View.LAYER_TYPE_NONE, null)
 |  | 
 | 
												
													
														
															|  | -                    settings.databaseEnabled = true
 |  | 
 | 
												
													
														
															|  | -
 |  | 
 | 
												
													
														
															|  | -                    webViewClient = object : WebViewClient() {
 |  | 
 | 
												
													
														
															|  | -                        override fun onPageStarted(
 |  | 
 | 
												
													
														
															|  | -                            view: WebView?,
 |  | 
 | 
												
													
														
															|  | -                            url: String?,
 |  | 
 | 
												
													
														
															|  | -                            favicon: Bitmap?
 |  | 
 | 
												
													
														
															|  | -                        ) {
 |  | 
 | 
												
													
														
															|  | -                            super.onPageStarted(view, url, favicon)
 |  | 
 | 
												
													
														
															|  | -                            Log.d("test_webview", "onPageStarted")
 |  | 
 | 
												
													
														
															|  | -                            showLoader = true
 |  | 
 | 
												
													
														
															|  | -                        }
 |  | 
 | 
												
													
														
															|  | -
 |  | 
 | 
												
													
														
															|  | -                        override fun onPageFinished(view: WebView?, url: String?) {
 |  | 
 | 
												
													
														
															|  | -                            super.onPageFinished(view, url)
 |  | 
 | 
												
													
														
															|  | -                            Log.d("test_webview", "onPageFinished")
 |  | 
 | 
												
													
														
															|  | -                            showLoader = false
 |  | 
 | 
												
													
														
															|  | -                        }
 |  | 
 | 
												
													
														
															|  | -
 |  | 
 | 
												
													
														
															|  | -                        override fun onReceivedError(
 |  | 
 | 
												
													
														
															|  | -                            view: WebView?,
 |  | 
 | 
												
													
														
															|  | -                            request: WebResourceRequest?,
 |  | 
 | 
												
													
														
															|  | -                            error: WebResourceError?
 |  | 
 | 
												
													
														
															|  | -                        ) {
 |  | 
 | 
												
													
														
															|  | -                            super.onReceivedError(view, request, error)
 |  | 
 | 
												
													
														
															|  | -                            Log.d("test_webview", "onReceivedError")
 |  | 
 | 
												
													
														
															|  | -                            showLoader = false
 |  | 
 | 
												
													
														
															|  | -                        }
 |  | 
 | 
												
													
														
															|  | -                    }
 |  | 
 | 
												
													
														
															|  | -
 |  | 
 | 
												
													
														
															|  | -                    webChromeClient = object : WebChromeClient() {
 |  | 
 | 
												
													
														
															|  | -                        override fun onPermissionRequest(request: PermissionRequest?) {
 |  | 
 | 
												
													
														
															|  | -                            super.onPermissionRequest(request)
 |  | 
 | 
												
													
														
															|  | -                            Log.d("test_file_chat", "onActivityResult: onPermissionRequest")
 |  | 
 | 
												
													
														
															|  | -                            request?.grant(request.resources)
 |  | 
 | 
												
													
														
															|  | -                        }
 |  | 
 | 
												
													
														
															|  | -
 |  | 
 | 
												
													
														
															|  | -                        override fun onShowFileChooser(
 |  | 
 | 
												
													
														
															|  | -                            webView: WebView?,
 |  | 
 | 
												
													
														
															|  | -                            filePathCallback: ValueCallback<Array<Uri>>?,
 |  | 
 | 
												
													
														
															|  | -                            fileChooserParams: FileChooserParams?
 |  | 
 | 
												
													
														
															|  | -                        ): Boolean {
 |  | 
 | 
												
													
														
															|  | -                            Log.d("test_file_chat", "onActivityResult: onShowFileChooser")
 |  | 
 | 
												
													
														
															|  | -                            fileChooserCallback?.onReceiveValue(null)
 |  | 
 | 
												
													
														
															|  | -                            fileChooserCallback = filePathCallback
 |  | 
 | 
												
													
														
															|  | -                            val selectionIntent = Intent(Intent.ACTION_GET_CONTENT)
 |  | 
 | 
												
													
														
															|  | -                            selectionIntent.addCategory(Intent.CATEGORY_OPENABLE)
 |  | 
 | 
												
													
														
															|  | -                            selectionIntent.type = "*/*"
 |  | 
 | 
												
													
														
															|  | -                            val chooserIntent = Intent(Intent.ACTION_CHOOSER)
 |  | 
 | 
												
													
														
															|  | -                            chooserIntent.putExtra(Intent.EXTRA_INTENT, selectionIntent)
 |  | 
 | 
												
													
														
															|  | -                            activity.startActivityForResult(chooserIntent, 551)
 |  | 
 | 
												
													
														
															|  | -
 |  | 
 | 
												
													
														
															|  | -                            return true
 |  | 
 | 
												
													
														
															|  | -                        }
 |  | 
 | 
												
													
														
															|  | -
 |  | 
 | 
												
													
														
															|  | -                    }
 |  | 
 | 
												
													
														
															|  | -
 |  | 
 | 
												
													
														
															|  | -                    setDownloadListener { uri, userAgent, contentDisposition, mimetype, contentLength ->
 |  | 
 | 
												
													
														
															|  | -                        handleURI(
 |  | 
 | 
												
													
														
															|  | -                            uri
 |  | 
 | 
												
													
														
															|  | -                        )
 |  | 
 | 
												
													
														
															|  | -                    }
 |  | 
 | 
												
													
														
															|  | -                    setOnLongClickListener { v ->
 |  | 
 | 
												
													
														
															|  | -                        handleURI((v as WebView).hitTestResult.extra)
 |  | 
 | 
												
													
														
															|  | -                        true
 |  | 
 | 
												
													
														
															|  | -                    }
 |  | 
 | 
												
													
														
															|  | -
 |  | 
 | 
												
													
														
															|  | -//                        loadUrl(supportUrl)
 |  | 
 | 
												
													
														
															|  | -                }
 |  | 
 | 
												
													
														
															|  | -            },
 |  | 
 | 
												
													
														
															|  | -                update = {
 |  | 
 | 
												
													
														
															|  | -                    Log.d("test_webview", "update")
 |  | 
 | 
												
													
														
															|  | -                    it.loadUrl(supportUrl)
 |  | 
 | 
												
													
														
															|  | -                }
 |  | 
 | 
												
													
														
															|  | -            )
 |  | 
 | 
												
													
														
															|  | 
 |  | +            if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.O_MR1) {
 | 
												
													
														
															|  | 
 |  | +                CustomCSWebView(url = supportUrl, activity)
 | 
												
													
														
															|  | 
 |  | +            } else {
 | 
												
													
														
															|  | 
 |  | +                CSWebView(url = supportUrl, activity)
 | 
												
													
														
															|  | 
 |  | +            }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  | -            if (showLoader) {
 |  | 
 | 
												
													
														
															|  | 
 |  | +            if (showLoader.value) {
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |                  var progress by remember { mutableFloatStateOf(0.1F) }
 |  |                  var progress by remember { mutableFloatStateOf(0.1F) }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
											
												
													
														
															|  | @@ -224,6 +135,186 @@ fun CustomerSupport(navHostController: NavHostController, activity: ComponentAct
 | 
												
													
														
															|  |      }
 |  |      }
 | 
												
													
														
															|  |  }
 |  |  }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  | 
 |  | +@Composable
 | 
												
													
														
															|  | 
 |  | +fun CSWebView(url: String, activity: ComponentActivity) {
 | 
												
													
														
															|  | 
 |  | +    AndroidView(factory = {
 | 
												
													
														
															|  | 
 |  | +        WebView(it).apply {
 | 
												
													
														
															|  | 
 |  | +            layoutParams = ViewGroup.LayoutParams(
 | 
												
													
														
															|  | 
 |  | +                ViewGroup.LayoutParams.MATCH_PARENT,
 | 
												
													
														
															|  | 
 |  | +                ViewGroup.LayoutParams.MATCH_PARENT
 | 
												
													
														
															|  | 
 |  | +            )
 | 
												
													
														
															|  | 
 |  | +            webViewClient = WebViewClient()
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +            settings.javaScriptEnabled = true
 | 
												
													
														
															|  | 
 |  | +            settings.allowContentAccess = true
 | 
												
													
														
															|  | 
 |  | +            settings.allowFileAccess = true
 | 
												
													
														
															|  | 
 |  | +            settings.allowFileAccessFromFileURLs = true
 | 
												
													
														
															|  | 
 |  | +            settings.allowUniversalAccessFromFileURLs = true
 | 
												
													
														
															|  | 
 |  | +            settings.databaseEnabled = true
 | 
												
													
														
															|  | 
 |  | +            settings.domStorageEnabled = true
 | 
												
													
														
															|  | 
 |  | +            settings.loadsImagesAutomatically = true
 | 
												
													
														
															|  | 
 |  | +            settings.builtInZoomControls = true
 | 
												
													
														
															|  | 
 |  | +            settings.displayZoomControls = true
 | 
												
													
														
															|  | 
 |  | +            settings.mediaPlaybackRequiresUserGesture = false
 | 
												
													
														
															|  | 
 |  | +            settings.supportZoom()
 | 
												
													
														
															|  | 
 |  | +            settings.loadWithOverviewMode = true
 | 
												
													
														
															|  | 
 |  | +            setLayerType(View.LAYER_TYPE_NONE, null)
 | 
												
													
														
															|  | 
 |  | +            settings.databaseEnabled = true
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +            webViewClient = object : WebViewClient() {
 | 
												
													
														
															|  | 
 |  | +                override fun onPageStarted(
 | 
												
													
														
															|  | 
 |  | +                    view: WebView?,
 | 
												
													
														
															|  | 
 |  | +                    url: String?,
 | 
												
													
														
															|  | 
 |  | +                    favicon: Bitmap?
 | 
												
													
														
															|  | 
 |  | +                ) {
 | 
												
													
														
															|  | 
 |  | +                    super.onPageStarted(view, url, favicon)
 | 
												
													
														
															|  | 
 |  | +                    Log.d("test_webview", "onPageStarted")
 | 
												
													
														
															|  | 
 |  | +                    showLoader.value = true
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +                override fun onPageFinished(view: WebView?, url: String?) {
 | 
												
													
														
															|  | 
 |  | +                    super.onPageFinished(view, url)
 | 
												
													
														
															|  | 
 |  | +                    Log.d("test_webview", "onPageFinished")
 | 
												
													
														
															|  | 
 |  | +                    showLoader.value = false
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +                override fun onReceivedError(
 | 
												
													
														
															|  | 
 |  | +                    view: WebView?,
 | 
												
													
														
															|  | 
 |  | +                    request: WebResourceRequest?,
 | 
												
													
														
															|  | 
 |  | +                    error: WebResourceError?
 | 
												
													
														
															|  | 
 |  | +                ) {
 | 
												
													
														
															|  | 
 |  | +                    super.onReceivedError(view, request, error)
 | 
												
													
														
															|  | 
 |  | +                    Log.d("test_webview", "onReceivedError")
 | 
												
													
														
															|  | 
 |  | +                    showLoader.value = false
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  | 
 |  | +            }
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +            webChromeClient = object : WebChromeClient() {
 | 
												
													
														
															|  | 
 |  | +                override fun onPermissionRequest(request: PermissionRequest?) {
 | 
												
													
														
															|  | 
 |  | +                    super.onPermissionRequest(request)
 | 
												
													
														
															|  | 
 |  | +                    Log.d("test_file_chat", "onActivityResult: onPermissionRequest")
 | 
												
													
														
															|  | 
 |  | +                    request?.grant(request.resources)
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +                override fun onShowFileChooser(
 | 
												
													
														
															|  | 
 |  | +                    webView: WebView?,
 | 
												
													
														
															|  | 
 |  | +                    filePathCallback: ValueCallback<Array<Uri>>?,
 | 
												
													
														
															|  | 
 |  | +                    fileChooserParams: FileChooserParams?
 | 
												
													
														
															|  | 
 |  | +                ): Boolean {
 | 
												
													
														
															|  | 
 |  | +                    Log.d("test_file_chat", "onActivityResult: onShowFileChooser")
 | 
												
													
														
															|  | 
 |  | +                    fileChooserCallback?.onReceiveValue(null)
 | 
												
													
														
															|  | 
 |  | +                    fileChooserCallback = filePathCallback
 | 
												
													
														
															|  | 
 |  | +                    val selectionIntent = Intent(Intent.ACTION_GET_CONTENT)
 | 
												
													
														
															|  | 
 |  | +                    selectionIntent.addCategory(Intent.CATEGORY_OPENABLE)
 | 
												
													
														
															|  | 
 |  | +                    selectionIntent.type = "*/*"
 | 
												
													
														
															|  | 
 |  | +                    val chooserIntent = Intent(Intent.ACTION_CHOOSER)
 | 
												
													
														
															|  | 
 |  | +                    chooserIntent.putExtra(Intent.EXTRA_INTENT, selectionIntent)
 | 
												
													
														
															|  | 
 |  | +                    activity.startActivityForResult(chooserIntent, 551)
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +                    return true
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +            }
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +            setDownloadListener { uri, userAgent, contentDisposition, mimetype, contentLength ->
 | 
												
													
														
															|  | 
 |  | +                handleURI(
 | 
												
													
														
															|  | 
 |  | +                    uri
 | 
												
													
														
															|  | 
 |  | +                )
 | 
												
													
														
															|  | 
 |  | +            }
 | 
												
													
														
															|  | 
 |  | +            setOnLongClickListener { v ->
 | 
												
													
														
															|  | 
 |  | +                handleURI((v as WebView).hitTestResult.extra)
 | 
												
													
														
															|  | 
 |  | +                true
 | 
												
													
														
															|  | 
 |  | +            }
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +//                        loadUrl(supportUrl)
 | 
												
													
														
															|  | 
 |  | +        }
 | 
												
													
														
															|  | 
 |  | +    },
 | 
												
													
														
															|  | 
 |  | +        update = {
 | 
												
													
														
															|  | 
 |  | +            Log.d("test_webview", "update")
 | 
												
													
														
															|  | 
 |  | +            it.loadUrl(url)
 | 
												
													
														
															|  | 
 |  | +        }
 | 
												
													
														
															|  | 
 |  | +    )
 | 
												
													
														
															|  | 
 |  | +}
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +@Composable
 | 
												
													
														
															|  | 
 |  | +fun CustomCSWebView(url: String, activity: ComponentActivity) {
 | 
												
													
														
															|  | 
 |  | +    AndroidView(factory = {
 | 
												
													
														
															|  | 
 |  | +        val webView = WebView(it).apply {
 | 
												
													
														
															|  | 
 |  | +            layoutParams = ViewGroup.LayoutParams(
 | 
												
													
														
															|  | 
 |  | +                ViewGroup.LayoutParams.MATCH_PARENT,
 | 
												
													
														
															|  | 
 |  | +                ViewGroup.LayoutParams.MATCH_PARENT
 | 
												
													
														
															|  | 
 |  | +            )
 | 
												
													
														
															|  | 
 |  | +            webViewClient = WebViewClient()
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +            settings.javaScriptEnabled = true
 | 
												
													
														
															|  | 
 |  | +            settings.allowContentAccess = true
 | 
												
													
														
															|  | 
 |  | +            settings.allowFileAccess = true
 | 
												
													
														
															|  | 
 |  | +            settings.allowFileAccessFromFileURLs = true
 | 
												
													
														
															|  | 
 |  | +            settings.allowUniversalAccessFromFileURLs = true
 | 
												
													
														
															|  | 
 |  | +            settings.databaseEnabled = true
 | 
												
													
														
															|  | 
 |  | +            settings.domStorageEnabled = true
 | 
												
													
														
															|  | 
 |  | +            settings.loadsImagesAutomatically = true
 | 
												
													
														
															|  | 
 |  | +            settings.builtInZoomControls = true
 | 
												
													
														
															|  | 
 |  | +            settings.displayZoomControls = true
 | 
												
													
														
															|  | 
 |  | +            settings.mediaPlaybackRequiresUserGesture = false
 | 
												
													
														
															|  | 
 |  | +            settings.supportZoom()
 | 
												
													
														
															|  | 
 |  | +            settings.loadWithOverviewMode = true
 | 
												
													
														
															|  | 
 |  | +            setLayerType(View.LAYER_TYPE_NONE, null)
 | 
												
													
														
															|  | 
 |  | +            settings.databaseEnabled = true
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +            webViewClient = object : WebViewClient() {
 | 
												
													
														
															|  | 
 |  | +                override fun onReceivedSslError(
 | 
												
													
														
															|  | 
 |  | +                    view: WebView?,
 | 
												
													
														
															|  | 
 |  | +                    handler: SslErrorHandler?,
 | 
												
													
														
															|  | 
 |  | +                    error: SslError?
 | 
												
													
														
															|  | 
 |  | +                ) {
 | 
												
													
														
															|  | 
 |  | +                    handler?.proceed()
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  | 
 |  | +            }
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +            webChromeClient = object : WebChromeClient() {
 | 
												
													
														
															|  | 
 |  | +                override fun onPermissionRequest(request: PermissionRequest?) {
 | 
												
													
														
															|  | 
 |  | +                    super.onPermissionRequest(request)
 | 
												
													
														
															|  | 
 |  | +                    Log.d("test_file_chat", "onActivityResult: onPermissionRequest")
 | 
												
													
														
															|  | 
 |  | +                    request?.grant(request.resources)
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +                override fun onShowFileChooser(
 | 
												
													
														
															|  | 
 |  | +                    webView: WebView?,
 | 
												
													
														
															|  | 
 |  | +                    filePathCallback: ValueCallback<Array<Uri>>?,
 | 
												
													
														
															|  | 
 |  | +                    fileChooserParams: FileChooserParams?
 | 
												
													
														
															|  | 
 |  | +                ): Boolean {
 | 
												
													
														
															|  | 
 |  | +                    Log.d("test_file_chat", "onActivityResult: onShowFileChooser")
 | 
												
													
														
															|  | 
 |  | +                    fileChooserCallback?.onReceiveValue(null)
 | 
												
													
														
															|  | 
 |  | +                    fileChooserCallback = filePathCallback
 | 
												
													
														
															|  | 
 |  | +                    val selectionIntent = Intent(Intent.ACTION_GET_CONTENT)
 | 
												
													
														
															|  | 
 |  | +                    selectionIntent.addCategory(Intent.CATEGORY_OPENABLE)
 | 
												
													
														
															|  | 
 |  | +                    selectionIntent.type = "*/*"
 | 
												
													
														
															|  | 
 |  | +                    val chooserIntent = Intent(Intent.ACTION_CHOOSER)
 | 
												
													
														
															|  | 
 |  | +                    chooserIntent.putExtra(Intent.EXTRA_INTENT, selectionIntent)
 | 
												
													
														
															|  | 
 |  | +                    activity.startActivityForResult(chooserIntent, 551)
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +                    return true
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +            }
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +            setDownloadListener { uri, userAgent, contentDisposition, mimetype, contentLength ->
 | 
												
													
														
															|  | 
 |  | +                handleURI(
 | 
												
													
														
															|  | 
 |  | +                    uri
 | 
												
													
														
															|  | 
 |  | +                )
 | 
												
													
														
															|  | 
 |  | +            }
 | 
												
													
														
															|  | 
 |  | +            setOnLongClickListener { v ->
 | 
												
													
														
															|  | 
 |  | +                handleURI((v as WebView).hitTestResult.extra)
 | 
												
													
														
															|  | 
 |  | +                true
 | 
												
													
														
															|  | 
 |  | +            }
 | 
												
													
														
															|  | 
 |  | +        }
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +        loadContentWithOkHttp(webView, url)
 | 
												
													
														
															|  | 
 |  | +        webView
 | 
												
													
														
															|  | 
 |  | +        })
 | 
												
													
														
															|  | 
 |  | +}
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  |  fun handleURI(uri: String?) {
 |  |  fun handleURI(uri: String?) {
 | 
												
													
														
															|  |      if (uri != null) {
 |  |      if (uri != null) {
 | 
												
													
														
															|  |          val i = Intent(Intent.ACTION_VIEW)
 |  |          val i = Intent(Intent.ACTION_VIEW)
 |