From 516ad1bfe53f2a076be70307c0eee83ac087f309 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Tue, 30 Apr 2019 11:32:57 +0530 Subject: [PATCH 1/2] Codestyle cleanup Signed-off-by: Harsh Shandilya --- .idea/encodings.xml | 4 +++ .../view/main/view/CustomWebViewClient.kt | 27 +++++++++---------- 2 files changed, 17 insertions(+), 14 deletions(-) create mode 100644 .idea/encodings.xml diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..15a15b2 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/app/src/main/java/to/dev/dev_android/view/main/view/CustomWebViewClient.kt b/app/src/main/java/to/dev/dev_android/view/main/view/CustomWebViewClient.kt index 1947d30..1e5eef7 100644 --- a/app/src/main/java/to/dev/dev_android/view/main/view/CustomWebViewClient.kt +++ b/app/src/main/java/to/dev/dev_android/view/main/view/CustomWebViewClient.kt @@ -1,20 +1,17 @@ package to.dev.dev_android.view.main.view import android.content.Context -import android.net.Uri -import androidx.browser.customtabs.CustomTabsIntent -import android.webkit.WebView -import android.webkit.WebViewClient -import androidx.core.content.ContextCompat.startActivity import android.content.Intent -import android.graphics.Bitmap +import android.net.Uri import android.os.Build import android.view.View import android.webkit.CookieManager -import android.webkit.CookieSyncManager +import android.webkit.WebView +import android.webkit.WebViewClient +import androidx.browser.customtabs.CustomTabsIntent import to.dev.dev_android.databinding.ActivityMainBinding -class CustomWebViewClient(val context: Context, val binding: ActivityMainBinding) : WebViewClient() { +class CustomWebViewClient(private val context: Context, private val binding: ActivityMainBinding) : WebViewClient() { override fun onPageFinished(view: WebView, url: String?) { binding.splash.visibility = View.GONE view.visibility = View.VISIBLE @@ -22,23 +19,25 @@ class CustomWebViewClient(val context: Context, val binding: ActivityMainBinding } override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean { - if(view.originalUrl == "https://dev.to/signout_confirm" && url == "https://dev.to/") { + if (view.originalUrl == "https://dev.to/signout_confirm" && url == "https://dev.to/") { view.clearCache(true) view.clearFormData() view.clearHistory() - when (Build.VERSION.SDK_INT) { - in Int.MIN_VALUE..20 -> CookieManager.getInstance().removeAllCookie() - else -> CookieManager.getInstance().removeAllCookies(null) + if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP) { + CookieManager.getInstance().removeAllCookie() + } else { + CookieManager.getInstance().removeAllCookies(null) } } if (url.contains("://dev.to")) { return false } else { - if(url.contains("api.twitter.com/oauth") || + if (url.contains("api.twitter.com/oauth") || url.contains("api.twitter.com/account/login_verification") || url.contains("github.com/login") || - url.contains("github.com/sessions/")) { + url.contains("github.com/sessions/") + ) { return false } val builder = CustomTabsIntent.Builder() From 475e829a7ba3e3568b9ae9a14eb35cf0f500e28c Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Tue, 30 Apr 2019 11:39:26 +0530 Subject: [PATCH 2/2] CustomWebViewClient: Move auth URLs to a separate list Signed-off-by: Harsh Shandilya --- .../view/main/view/CustomWebViewClient.kt | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/to/dev/dev_android/view/main/view/CustomWebViewClient.kt b/app/src/main/java/to/dev/dev_android/view/main/view/CustomWebViewClient.kt index 1e5eef7..89577d5 100644 --- a/app/src/main/java/to/dev/dev_android/view/main/view/CustomWebViewClient.kt +++ b/app/src/main/java/to/dev/dev_android/view/main/view/CustomWebViewClient.kt @@ -12,6 +12,13 @@ import androidx.browser.customtabs.CustomTabsIntent import to.dev.dev_android.databinding.ActivityMainBinding class CustomWebViewClient(private val context: Context, private val binding: ActivityMainBinding) : WebViewClient() { + + private val overrideUrlList = listOf( + "api.twitter.com/oauth", + "api.twitter.com/account/login_verification", + "github.com/login", + "github.com/sessions/" + ) override fun onPageFinished(view: WebView, url: String?) { binding.splash.visibility = View.GONE view.visibility = View.VISIBLE @@ -33,12 +40,10 @@ class CustomWebViewClient(private val context: Context, private val binding: Act if (url.contains("://dev.to")) { return false } else { - if (url.contains("api.twitter.com/oauth") || - url.contains("api.twitter.com/account/login_verification") || - url.contains("github.com/login") || - url.contains("github.com/sessions/") - ) { - return false + for (i in 0 until overrideUrlList.size) { + if (url.contains(overrideUrlList[i])) { + return false + } } val builder = CustomTabsIntent.Builder() builder.setToolbarColor(-0x1000000)