diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt index e77f5c043..a208b08a2 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt @@ -353,6 +353,9 @@ class ReaderActivity : BaseRxActivity() { */ /*override fun onOptionsItemSelected(item: MenuItem): Boolean { when (item.itemId) { + R.id.action_open_in_web_view -> { + openChapterInWebview() + } R.id.action_bookmark -> { presenter.bookmarkCurrentChapter(true) invalidateOptionsMenu() @@ -653,7 +656,7 @@ class ReaderActivity : BaseRxActivity() { setTooltip(R.string.action_open_in_web_view) setOnClickListener { - openMangaInBrowser() + openChapterInWebview() } } @@ -1020,25 +1023,6 @@ class ReaderActivity : BaseRxActivity() { } } - // 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 * and the toolbar title. @@ -1146,6 +1130,15 @@ class ReaderActivity : BaseRxActivity() { 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) { try { val strings = resources.getStringArray(R.array.viewers_selector) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt index c29f0f4fd..c33bb42f0 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt @@ -40,6 +40,7 @@ import eu.kanade.tachiyomi.data.track.job.DelayedTrackingStore import eu.kanade.tachiyomi.data.track.job.DelayedTrackingUpdateJob import eu.kanade.tachiyomi.source.SourceManager 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.all.MergedSource import eu.kanade.tachiyomi.ui.base.presenter.BasePresenter @@ -709,6 +710,15 @@ class ReaderPresenter( 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. */ diff --git a/app/src/main/res/drawable/ic_webview_24dp.xml b/app/src/main/res/drawable/ic_webview_24dp.xml new file mode 100644 index 000000000..cd993e203 --- /dev/null +++ b/app/src/main/res/drawable/ic_webview_24dp.xml @@ -0,0 +1,7 @@ + + + diff --git a/app/src/main/res/layout/reader_activity.xml b/app/src/main/res/layout/reader_activity.xml index 9f63dc3b3..e73b2606f 100755 --- a/app/src/main/res/layout/reader_activity.xml +++ b/app/src/main/res/layout/reader_activity.xml @@ -428,7 +428,7 @@ app:layout_constraintStart_toEndOf="@+id/action_chapter_list" app:layout_constraintTop_toTopOf="parent" app:layout_constraintHorizontal_chainStyle="spread" - app:srcCompat="@drawable/ic_public_24dp" + app:srcCompat="@drawable/ic_webview_24dp" app:tint="?attr/colorOnSurface" /> + + -->