override fun onCreate()

in app/src/main/java/co/huggingface/chat_ui_android/MainActivity.kt [24:74]


    override fun onCreate(savedInstanceState: Bundle?) {
        enableEdgeToEdge()
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        webView = findViewById(R.id.webview)
        webView.settings.setJavaScriptEnabled(true)

        webView.webViewClient = object : WebViewClient() {
            override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean {
                url?.let {
                    if (it.contains("huggingface.co/chat")
                        || it.contains("huggingface.co/oauth")
                        || it.contains("huggingface.co/login")
                        || it.contains("huggingface.co/authorize")
                    ) {
                        view?.loadUrl(it)
                        return false
                    } else {
                        val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse(it))
                        startActivity(browserIntent)
                    }
                }
                return true
            }
        }

        webView.getSettings()
            .setUserAgentString(BuildConfig.APPLICATION_ID + "/" + BuildConfig.VERSION_NAME + " " + webView.settings.userAgentString);

        webView.webChromeClient = object : WebChromeClient() {
            override fun onShowFileChooser(
                webView: WebView?,
                filePathCallback: ValueCallback<Array<Uri>>?,
                fileChooserParams: FileChooserParams?
            ): Boolean {
                fileUploadCallback?.onReceiveValue(null)
                fileUploadCallback = filePathCallback

                // Use file picker
                val intent = Intent(Intent.ACTION_GET_CONTENT)
                intent.addCategory(Intent.CATEGORY_OPENABLE)
                intent.type = "*/*"
                val chooserIntent = Intent.createChooser(intent, "Choose File")
                startActivityForResult(chooserIntent, FILE_CHOOSER_REQUEST_CODE)

                return true
            }
        }

        webView.loadUrl("https://huggingface.co/chat")
    }