package me.rxresu.app import android.annotation.SuppressLint import android.graphics.Bitmap import android.os.Bundle import android.view.KeyEvent import android.webkit.WebResourceError import android.webkit.WebResourceRequest import android.webkit.WebView import android.webkit.WebViewClient import androidx.appcompat.app.AppCompatActivity class MainActivity : AppCompatActivity() { private lateinit var webView: WebView private var isLoaded: Boolean = false private var webURL = "https://rxresu.me" @SuppressLint("SetJavaScriptEnabled") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) webView = findViewById(R.id.webview) webView.settings.javaScriptEnabled = true webView.settings.userAgentString = "Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Mobile Safari/537.36" } override fun onResume() { if (!isLoaded) loadWebView() super.onResume() } private fun loadWebView() { webView.loadUrl(webURL) webView.webViewClient = object : WebViewClient() { override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean { val url = request?.url.toString() view?.loadUrl(url) return super.shouldOverrideUrlLoading(view, request) } override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) { super.onPageStarted(view, url, favicon) } override fun onPageFinished(view: WebView?, url: String?) { isLoaded = true super.onPageFinished(view, url) } override fun onReceivedError(view: WebView, request: WebResourceRequest, error: WebResourceError) { isLoaded = false super.onReceivedError(view, request, error) } } } override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean { if (event.action == KeyEvent.ACTION_DOWN) { if (keyCode == KeyEvent.KEYCODE_BACK) { if (webView.canGoBack()) { webView.goBack() } return true } } return super.onKeyDown(keyCode, event) } }