From a8a65e953f8be92a3fa022ecc935547e130fd4c8 Mon Sep 17 00:00:00 2001 From: Koitharu Date: Thu, 10 Mar 2022 19:52:30 +0200 Subject: [PATCH] Support authorization for MangaLib and HentaiLib #122 --- app/src/main/AndroidManifest.xml | 1 + .../core/parser/site/MangaLibRepository.kt | 10 +++++++-- .../sources/auth/SourceAuthActivity.kt | 22 ++++++++++++++++++- 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d42998bc7..cb22f131e 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -68,6 +68,7 @@ android:windowSoftInputMode="adjustResize" /> (), BrowserCallba setContentView(ActivityBrowserBinding.inflate(layoutInflater)) val source = intent?.getParcelableExtra(EXTRA_SOURCE) if (source == null) { - finish() + finishAfterTransition() return } repository = mangaRepositoryOf(source) as? MangaRepositoryAuthProvider ?: run { @@ -53,6 +54,10 @@ class SourceAuthActivity : BaseActivity(), BrowserCallba javaScriptEnabled = true } binding.webView.webViewClient = BrowserClient(this) + binding.webView.webChromeClient = ProgressChromeClient(binding.progressBar) + if (savedInstanceState != null) { + return + } val url = repository.authUrl onTitleChanged( source.title, @@ -61,6 +66,21 @@ class SourceAuthActivity : BaseActivity(), BrowserCallba binding.webView.loadUrl(url) } + override fun onSaveInstanceState(outState: Bundle) { + super.onSaveInstanceState(outState) + binding.webView.saveState(outState) + } + + override fun onRestoreInstanceState(savedInstanceState: Bundle) { + super.onRestoreInstanceState(savedInstanceState) + binding.webView.restoreState(savedInstanceState) + } + + override fun onDestroy() { + super.onDestroy() + binding.webView.destroy() + } + override fun onOptionsItemSelected(item: MenuItem): Boolean = when (item.itemId) { android.R.id.home -> { binding.webView.stopLoading()