summaryrefslogtreecommitdiff
path: root/app/src/main/java/org/midori_browser/midori/BrowserActivity.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/org/midori_browser/midori/BrowserActivity.kt')
-rw-r--r--app/src/main/java/org/midori_browser/midori/BrowserActivity.kt22
1 files changed, 21 insertions, 1 deletions
diff --git a/app/src/main/java/org/midori_browser/midori/BrowserActivity.kt b/app/src/main/java/org/midori_browser/midori/BrowserActivity.kt
index 337301f1..8eefda7e 100644
--- a/app/src/main/java/org/midori_browser/midori/BrowserActivity.kt
+++ b/app/src/main/java/org/midori_browser/midori/BrowserActivity.kt
@@ -31,7 +31,7 @@ class BrowserActivity : AppCompatActivity() {
val webSettings = webView.settings
webSettings.javaScriptEnabled = true
- webSettings.userAgentString += " " + getString(R.string.userAgentVersion)
+ requestDesktopSite(false)
webSettings.databaseEnabled = true
webSettings.setAppCacheEnabled(true)
webSettings.domStorageEnabled = true
@@ -106,6 +106,20 @@ class BrowserActivity : AppCompatActivity() {
}
val completion = listOf("www.midori-browser.org", "example.com", "duckduckgo.com")
+ fun requestDesktopSite(desktopSite: Boolean) {
+ webView.settings.apply {
+ userAgentString = null // Reset to default
+ userAgentString = userAgentString + " " + getString(R.string.userAgentVersion)
+ if (desktopSite) {
+ // Websites look for "Android" and "Mobile" keywords to decide what's not desktop
+ val mobileOS = userAgentString.substring(userAgentString.indexOf("("), userAgentString.indexOf(")") + 1)
+ userAgentString = userAgentString.replace(mobileOS, "(X11; Linux x86_64)").replace(" Mobile", "")
+ }
+ useWideViewPort = desktopSite
+ loadWithOverviewMode = desktopSite
+ }
+ }
+
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.app_menu, menu)
@@ -129,6 +143,12 @@ class BrowserActivity : AppCompatActivity() {
webView.clearCache(true)
true
}
+ R.id.actionRequestDesktopSite -> {
+ item.isChecked = !item.isChecked
+ requestDesktopSite(item.isChecked)
+ webView.reload()
+ true
+ }
else -> {
super.onOptionsItemSelected(item)
}