77 lines
2.4 KiB
Kotlin
77 lines
2.4 KiB
Kotlin
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)
|
|
}
|
|
}
|