diff --git a/app/src/main/java/exh/ui/captcha/BasicWebViewClient.kt b/app/src/main/java/exh/ui/captcha/BasicWebViewClient.kt index c2ba8eba1..b8dac1a63 100644 --- a/app/src/main/java/exh/ui/captcha/BasicWebViewClient.kt +++ b/app/src/main/java/exh/ui/captcha/BasicWebViewClient.kt @@ -1,5 +1,6 @@ package exh.ui.captcha +import android.os.Build import android.webkit.WebView import android.webkit.WebViewClient @@ -12,7 +13,8 @@ open class BasicWebViewClient(protected val activity: BrowserActionActivity, if(verifyComplete(url)) { activity.finish() } else { - if(injectScript != null) view.loadUrl("javascript:(function() {$injectScript})();") + if(injectScript != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) + view.evaluateJavascript("(function() {$injectScript})();", null) } } } \ No newline at end of file diff --git a/app/src/main/java/exh/ui/login/LoginController.kt b/app/src/main/java/exh/ui/login/LoginController.kt index 7266d4dbd..9c53e1dc1 100755 --- a/app/src/main/java/exh/ui/login/LoginController.kt +++ b/app/src/main/java/exh/ui/login/LoginController.kt @@ -8,23 +8,15 @@ import android.view.ViewGroup import android.webkit.CookieManager import android.webkit.WebView import android.webkit.WebViewClient -import com.afollestad.materialdialogs.MaterialDialog -import com.jakewharton.rxbinding.view.clicks import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.preference.PreferencesHelper import eu.kanade.tachiyomi.source.SourceManager -import eu.kanade.tachiyomi.source.online.all.EHentai import eu.kanade.tachiyomi.ui.base.controller.NucleusController import eu.kanade.tachiyomi.util.gone -import eu.kanade.tachiyomi.util.invisible import eu.kanade.tachiyomi.util.launchUI import eu.kanade.tachiyomi.util.visible -import exh.EXH_SOURCE_ID import exh.uconfig.WarnConfigureDialogController import kotlinx.android.synthetic.main.eh_activity_login.view.* -import rx.Observable -import rx.android.schedulers.AndroidSchedulers -import rx.schedulers.Schedulers import timber.log.Timber import uy.kohesive.injekt.injectLazy import java.net.HttpCookie @@ -53,7 +45,6 @@ class LoginController : NucleusController() { btn_advanced.setOnClickListener { advanced_options.visible() - adv_shim.visible() webview.gone() btn_advanced.isEnabled = false btn_cancel.isEnabled = false @@ -94,7 +85,6 @@ class LoginController : NucleusController() { private fun hideAdvancedOptions(view: View) { with(view) { advanced_options.gone() - adv_shim.gone() webview.visible() btn_advanced.isEnabled = true btn_cancel.isEnabled = true @@ -115,8 +105,9 @@ class LoginController : NucleusController() { val parsedUrl = Uri.parse(url) if (parsedUrl.host.equals("forums.e-hentai.org", ignoreCase = true)) { //Hide distracting content - if(!parsedUrl.queryParameterNames.contains(PARAM_SKIP_INJECT)) - view.loadUrl(HIDE_JS) + if(!parsedUrl.queryParameterNames.contains(PARAM_SKIP_INJECT) + && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) + view.evaluateJavascript(HIDE_JS, null) //Check login result if (parsedUrl.getQueryParameter("code")?.toInt() != 0) { @@ -126,7 +117,7 @@ class LoginController : NucleusController() { //At ExHentai, check that everything worked out... if (applyExHentaiCookies(url)) { preferenceManager.enableExhentai().set(true) - finishLogin(view) + finishLogin() } } } @@ -134,35 +125,11 @@ class LoginController : NucleusController() { } } - fun finishLogin(view: View) { - val progressDialog = MaterialDialog.Builder(view.context) - .title("Finalizing login") - .progress(true, 0) - .content("Please wait...") - .cancelable(false) - .show() + fun finishLogin() { + router.popCurrentController() - val eh = sourceManager - .getOnlineSources() - .find { it.id == EXH_SOURCE_ID } as EHentai - - Observable.fromCallable { - //I honestly have no idea why we need to call this twice, but it works, so whatever - try { - eh.fetchFavorites() - } catch(ignored: Exception) {} - try { - eh.fetchFavorites() - } catch(ignored: Exception) {} - }.subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe { - progressDialog.dismiss() - router.popCurrentController() - - //Upload settings - WarnConfigureDialogController.uploadSettings(router) - } + //Upload settings + WarnConfigureDialogController.uploadSettings(router) } /** diff --git a/app/src/main/res/layout/eh_activity_login.xml b/app/src/main/res/layout/eh_activity_login.xml index 3462d6eb4..9be06c6a4 100755 --- a/app/src/main/res/layout/eh_activity_login.xml +++ b/app/src/main/res/layout/eh_activity_login.xml @@ -2,7 +2,6 @@ @@ -15,74 +14,74 @@ - - + android:layout_height="wrap_content" /> - - - - -