diff --git a/app/src/main/java/exh/ui/login/EhLoginActivity.kt b/app/src/main/java/exh/ui/login/EhLoginActivity.kt index 105b61784..c95547267 100644 --- a/app/src/main/java/exh/ui/login/EhLoginActivity.kt +++ b/app/src/main/java/exh/ui/login/EhLoginActivity.kt @@ -13,6 +13,8 @@ import android.widget.Toast import androidx.core.view.isInvisible import androidx.core.view.isVisible import androidx.lifecycle.lifecycleScope +import com.afollestad.materialdialogs.MaterialDialog +import com.afollestad.materialdialogs.input.input import eu.kanade.tachiyomi.BuildConfig import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.preference.PreferencesHelper @@ -34,7 +36,6 @@ import java.util.Locale /** * LoginController */ - class EhLoginActivity : BaseViewBindingActivity() { val preferenceManager: PreferencesHelper by injectLazy() @@ -42,6 +43,8 @@ class EhLoginActivity : BaseViewBindingActivity() { private var bundle: Bundle? = null + private var igneous: String? = null + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -128,6 +131,11 @@ class EhLoginActivity : BaseViewBindingActivity() { binding.webview.loadUrl("https://forums.e-hentai.org/index.php?act=Login&$PARAM_SKIP_INJECT=true") } + binding.btnIgneousCookie.setOnClickListener { + hideAdvancedOptions() + openIgneousDialog() + } + CookieManager.getInstance().removeAllCookies { launchUI { if (bundle == null) { @@ -137,6 +145,23 @@ class EhLoginActivity : BaseViewBindingActivity() { } } + fun openIgneousDialog() { + var igneous: CharSequence? = null + MaterialDialog(this) + .title(R.string.custom_igneous_cookie) + .message(R.string.custom_igneous_cookie_message) + .input { _, charSequence -> + igneous = charSequence + } + .positiveButton(android.R.string.ok) { + if (!igneous.isNullOrBlank()) { + this.igneous = igneous?.toString()?.trim() + } + } + .negativeButton(android.R.string.cancel) + .show() + } + private fun hideAdvancedOptions() { binding.advancedOptions.isVisible = false binding.webview.isVisible = true @@ -211,7 +236,7 @@ class EhLoginActivity : BaseViewBindingActivity() { when (it.name.toLowerCase(Locale.getDefault())) { MEMBER_ID_COOKIE -> memberId = it.value PASS_HASH_COOKIE -> passHash = it.value - IGNEOUS_COOKIE -> igneous = it.value + IGNEOUS_COOKIE -> igneous = this.igneous ?: it.value } } diff --git a/app/src/main/res/layout/eh_activity_login.xml b/app/src/main/res/layout/eh_activity_login.xml index 2bc0bbb67..3f181af33 100755 --- a/app/src/main/res/layout/eh_activity_login.xml +++ b/app/src/main/res/layout/eh_activity_login.xml @@ -66,28 +66,35 @@ style="@style/Widget.AppCompat.Button.Borderless" android:layout_width="match_parent" android:layout_height="wrap_content" - android:text="Recheck login status" /> + android:text="@string/recheck_login_status" />