diff options
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.kt | 22 |
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) } |