WebView for chapter link (#8281)
* backup * doing logic * cleanup * applying suggestion Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com> * requested changes Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com> (cherry picked from commit 37b7efbc87c45c421974394ee36f86f5cd6e0492) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
This commit is contained in:
parent
98a56d581e
commit
0d7cff1f43
@ -353,6 +353,9 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() {
|
|||||||
*/
|
*/
|
||||||
/*override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
/*override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
||||||
when (item.itemId) {
|
when (item.itemId) {
|
||||||
|
R.id.action_open_in_web_view -> {
|
||||||
|
openChapterInWebview()
|
||||||
|
}
|
||||||
R.id.action_bookmark -> {
|
R.id.action_bookmark -> {
|
||||||
presenter.bookmarkCurrentChapter(true)
|
presenter.bookmarkCurrentChapter(true)
|
||||||
invalidateOptionsMenu()
|
invalidateOptionsMenu()
|
||||||
@ -653,7 +656,7 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() {
|
|||||||
setTooltip(R.string.action_open_in_web_view)
|
setTooltip(R.string.action_open_in_web_view)
|
||||||
|
|
||||||
setOnClickListener {
|
setOnClickListener {
|
||||||
openMangaInBrowser()
|
openChapterInWebview()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1020,25 +1023,6 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// SY -->
|
|
||||||
fun openMangaInBrowser() {
|
|
||||||
val source = sourceManager.getOrStub(presenter.manga!!.source) as? HttpSource ?: return
|
|
||||||
val url = try {
|
|
||||||
source.mangaDetailsRequest(presenter.manga!!).url.toString()
|
|
||||||
} catch (e: Exception) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
val intent = WebViewActivity.newIntent(
|
|
||||||
applicationContext,
|
|
||||||
url,
|
|
||||||
source.id,
|
|
||||||
presenter.manga!!.title,
|
|
||||||
)
|
|
||||||
startActivity(intent)
|
|
||||||
}
|
|
||||||
// SY <--
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called from the presenter when a manga is ready. Used to instantiate the appropriate viewer
|
* Called from the presenter when a manga is ready. Used to instantiate the appropriate viewer
|
||||||
* and the toolbar title.
|
* and the toolbar title.
|
||||||
@ -1146,6 +1130,15 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() {
|
|||||||
startPostponedEnterTransition()
|
startPostponedEnterTransition()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun openChapterInWebview() {
|
||||||
|
val manga = presenter.manga ?: return
|
||||||
|
val source = presenter.getSource() ?: return
|
||||||
|
val url = presenter.getChapterUrl() ?: return
|
||||||
|
|
||||||
|
val intent = WebViewActivity.newIntent(this, url, source.id, manga.title)
|
||||||
|
startActivity(intent)
|
||||||
|
}
|
||||||
|
|
||||||
private fun showReadingModeToast(mode: Int) {
|
private fun showReadingModeToast(mode: Int) {
|
||||||
try {
|
try {
|
||||||
val strings = resources.getStringArray(R.array.viewers_selector)
|
val strings = resources.getStringArray(R.array.viewers_selector)
|
||||||
|
@ -40,6 +40,7 @@ import eu.kanade.tachiyomi.data.track.job.DelayedTrackingStore
|
|||||||
import eu.kanade.tachiyomi.data.track.job.DelayedTrackingUpdateJob
|
import eu.kanade.tachiyomi.data.track.job.DelayedTrackingUpdateJob
|
||||||
import eu.kanade.tachiyomi.source.SourceManager
|
import eu.kanade.tachiyomi.source.SourceManager
|
||||||
import eu.kanade.tachiyomi.source.model.Page
|
import eu.kanade.tachiyomi.source.model.Page
|
||||||
|
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||||
import eu.kanade.tachiyomi.source.online.MetadataSource
|
import eu.kanade.tachiyomi.source.online.MetadataSource
|
||||||
import eu.kanade.tachiyomi.source.online.all.MergedSource
|
import eu.kanade.tachiyomi.source.online.all.MergedSource
|
||||||
import eu.kanade.tachiyomi.ui.base.presenter.BasePresenter
|
import eu.kanade.tachiyomi.ui.base.presenter.BasePresenter
|
||||||
@ -709,6 +710,15 @@ class ReaderPresenter(
|
|||||||
return viewerChaptersRelay.value?.currChapter
|
return viewerChaptersRelay.value?.currChapter
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun getSource() = manga?.source?.let { sourceManager.getOrStub(it) } as? HttpSource
|
||||||
|
|
||||||
|
fun getChapterUrl(): String? {
|
||||||
|
val sChapter = getCurrentChapter()?.chapter ?: return null
|
||||||
|
val source = getSource() ?: return null
|
||||||
|
|
||||||
|
return source.getChapterUrl(sChapter)
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Bookmarks the currently active chapter.
|
* Bookmarks the currently active chapter.
|
||||||
*/
|
*/
|
||||||
|
7
app/src/main/res/drawable/ic_webview_24dp.xml
Normal file
7
app/src/main/res/drawable/ic_webview_24dp.xml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
<path android:fillColor="@android:color/white" android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM11,19.93c-3.95,-0.49 -7,-3.85 -7,-7.93 0,-0.62 0.08,-1.21 0.21,-1.79L9,15v1c0,1.1 0.9,2 2,2v1.93zM17.9,17.39c-0.26,-0.81 -1,-1.39 -1.9,-1.39h-1v-3c0,-0.55 -0.45,-1 -1,-1L8,12v-2h2c0.55,0 1,-0.45 1,-1L11,7h2c1.1,0 2,-0.9 2,-2v-0.41c2.93,1.19 5,4.06 5,7.41 0,2.08 -0.8,3.97 -2.1,5.39z"/>
|
||||||
|
</vector>
|
@ -428,7 +428,7 @@
|
|||||||
app:layout_constraintStart_toEndOf="@+id/action_chapter_list"
|
app:layout_constraintStart_toEndOf="@+id/action_chapter_list"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintHorizontal_chainStyle="spread"
|
app:layout_constraintHorizontal_chainStyle="spread"
|
||||||
app:srcCompat="@drawable/ic_public_24dp"
|
app:srcCompat="@drawable/ic_webview_24dp"
|
||||||
app:tint="?attr/colorOnSurface" />
|
app:tint="?attr/colorOnSurface" />
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
|
@ -14,6 +14,13 @@
|
|||||||
android:icon="@drawable/ic_bookmark_24dp"
|
android:icon="@drawable/ic_bookmark_24dp"
|
||||||
android:title="@string/action_remove_bookmark"
|
android:title="@string/action_remove_bookmark"
|
||||||
app:iconTint="?attr/colorOnSurface"
|
app:iconTint="?attr/colorOnSurface"
|
||||||
|
app:showAsAction="ifRoom" />
|
||||||
|
|
||||||
|
<item
|
||||||
|
android:id="@+id/action_open_in_web_view"
|
||||||
|
android:icon="@drawable/ic_webview_24dp"
|
||||||
|
android:title="@string/action_open_in_web_view"
|
||||||
|
app:iconTint="?attr/colorOnSurface"
|
||||||
app:showAsAction="ifRoom" />-->
|
app:showAsAction="ifRoom" />-->
|
||||||
|
|
||||||
</menu>
|
</menu>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user