Open decode error pages in webview instead of browser
This commit is contained in:
parent
fdc7981d18
commit
51d93f0217
@ -302,7 +302,7 @@ open class BrowseCatalogueController(bundle: Bundle) :
|
||||
val source = presenter.source as? HttpSource ?: return
|
||||
|
||||
val activity = activity ?: return
|
||||
val intent = WebViewActivity.newIntent(activity, source.id, source.baseUrl, presenter.source.name)
|
||||
val intent = WebViewActivity.newIntent(activity, source.baseUrl, source.id, presenter.source.name)
|
||||
startActivity(intent)
|
||||
}
|
||||
|
||||
|
@ -315,7 +315,7 @@ class MangaInfoController : NucleusController<MangaInfoPresenter>(),
|
||||
}
|
||||
|
||||
val activity = activity ?: return
|
||||
val intent = WebViewActivity.newIntent(activity, source.id, url, presenter.manga.title)
|
||||
val intent = WebViewActivity.newIntent(activity, url, source.id, presenter.manga.title)
|
||||
startActivity(intent)
|
||||
}
|
||||
|
||||
|
@ -1,10 +1,8 @@
|
||||
package eu.kanade.tachiyomi.ui.reader.viewer.pager
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Intent
|
||||
import android.graphics.PointF
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.net.Uri
|
||||
import android.view.GestureDetector
|
||||
import android.view.Gravity
|
||||
import android.view.MotionEvent
|
||||
@ -32,6 +30,7 @@ import eu.kanade.tachiyomi.source.model.Page
|
||||
import eu.kanade.tachiyomi.ui.reader.model.ReaderPage
|
||||
import eu.kanade.tachiyomi.ui.reader.viewer.ReaderProgressBar
|
||||
import eu.kanade.tachiyomi.ui.reader.viewer.pager.PagerConfig.ZoomType
|
||||
import eu.kanade.tachiyomi.ui.webview.WebViewActivity
|
||||
import eu.kanade.tachiyomi.util.system.ImageUtil
|
||||
import eu.kanade.tachiyomi.util.system.dpToPx
|
||||
import eu.kanade.tachiyomi.util.view.gone
|
||||
@ -417,9 +416,9 @@ class PagerPageHolder(
|
||||
layoutParams = FrameLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT).apply {
|
||||
setMargins(margins, margins, margins, margins)
|
||||
}
|
||||
setText(R.string.action_open_in_browser)
|
||||
setText(R.string.action_open_in_web_view)
|
||||
setOnClickListener {
|
||||
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(imageUrl))
|
||||
val intent = WebViewActivity.newIntent(context, imageUrl!!)
|
||||
context.startActivity(intent)
|
||||
}
|
||||
|
||||
|
@ -1,10 +1,8 @@
|
||||
package eu.kanade.tachiyomi.ui.reader.viewer.webtoon
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Intent
|
||||
import android.content.res.Resources
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.net.Uri
|
||||
import android.view.Gravity
|
||||
import android.view.ViewGroup
|
||||
import android.view.ViewGroup.LayoutParams.MATCH_PARENT
|
||||
@ -30,6 +28,7 @@ import eu.kanade.tachiyomi.data.glide.GlideApp
|
||||
import eu.kanade.tachiyomi.source.model.Page
|
||||
import eu.kanade.tachiyomi.ui.reader.model.ReaderPage
|
||||
import eu.kanade.tachiyomi.ui.reader.viewer.ReaderProgressBar
|
||||
import eu.kanade.tachiyomi.ui.webview.WebViewActivity
|
||||
import eu.kanade.tachiyomi.util.system.ImageUtil
|
||||
import eu.kanade.tachiyomi.util.system.dpToPx
|
||||
import eu.kanade.tachiyomi.util.view.gone
|
||||
@ -460,9 +459,9 @@ class WebtoonPageHolder(
|
||||
layoutParams = FrameLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT).apply {
|
||||
setMargins(0, margins, 0, margins)
|
||||
}
|
||||
setText(R.string.action_open_in_browser)
|
||||
setText(R.string.action_open_in_web_view)
|
||||
setOnClickListener {
|
||||
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(imageUrl))
|
||||
val intent = WebViewActivity.newIntent(context, imageUrl!!)
|
||||
context.startActivity(intent)
|
||||
}
|
||||
|
||||
|
@ -55,15 +55,17 @@ class WebViewActivity : BaseActivity() {
|
||||
}
|
||||
|
||||
if (bundle == null) {
|
||||
val source = sourceManager.get(intent.extras!!.getLong(SOURCE_KEY)) as? HttpSource
|
||||
?: return
|
||||
val url = intent.extras!!.getString(URL_KEY) ?: return
|
||||
val headers = source.headers.toMultimap().mapValues { it.value.getOrNull(0) ?: "" }
|
||||
var headers = emptyMap<String, String>()
|
||||
|
||||
val source = sourceManager.get(intent.extras!!.getLong(SOURCE_KEY)) as? HttpSource
|
||||
if (source != null) {
|
||||
headers = source.headers.toMultimap().mapValues { it.value.getOrNull(0) ?: "" }
|
||||
binding.webview.settings.userAgentString = source.headers["User-Agent"]
|
||||
}
|
||||
|
||||
supportActionBar?.subtitle = url
|
||||
|
||||
binding.webview.settings.javaScriptEnabled = true
|
||||
binding.webview.settings.userAgentString = source.headers["User-Agent"]
|
||||
|
||||
binding.webview.webChromeClient = object : WebChromeClient() {
|
||||
override fun onProgressChanged(view: WebView?, newProgress: Int) {
|
||||
@ -166,14 +168,14 @@ class WebViewActivity : BaseActivity() {
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val SOURCE_KEY = "source_key"
|
||||
private const val URL_KEY = "url_key"
|
||||
private const val SOURCE_KEY = "source_key"
|
||||
private const val TITLE_KEY = "title_key"
|
||||
|
||||
fun newIntent(context: Context, sourceId: Long, url: String, title: String?): Intent {
|
||||
fun newIntent(context: Context, url: String, sourceId: Long? = null, title: String? = null): Intent {
|
||||
val intent = Intent(context, WebViewActivity::class.java)
|
||||
intent.putExtra(SOURCE_KEY, sourceId)
|
||||
intent.putExtra(URL_KEY, url)
|
||||
intent.putExtra(SOURCE_KEY, sourceId)
|
||||
intent.putExtra(TITLE_KEY, title)
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
|
||||
return intent
|
||||
|
@ -500,7 +500,7 @@
|
||||
<string name="chapter_subtitle">Chapter %1$s</string>
|
||||
<string name="no_next_chapter">Next chapter not found</string>
|
||||
<string name="no_previous_chapter">Previous chapter not found</string>
|
||||
<string name="decode_image_error">The image could not be decoded</string>
|
||||
<string name="decode_image_error">The image couldn\'t be loaded</string>
|
||||
<string name="confirm_set_image_as_cover">Use this image as cover art?</string>
|
||||
<string name="viewer_for_this_series">Viewer for this series</string>
|
||||
<string name="transition_finished">Finished:</string>
|
||||
|
Loading…
Reference in New Issue
Block a user