Delegate all reader call to Context.navToReader
This commit is contained in:
1 parent
0e78494f39
commit
351231aab9
7 files changed
+14
-66
No files matched your search
@@ -236,7 +236,7 @@ suspend fun removeFromFavorites(galleryInfo: GalleryInfo) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Context.navToReader(info: GalleryInfo, page: Int) {
|
fun Context.navToReader(info: GalleryInfo, page: Int = -1) {
|
||||||
val intent = Intent(this, ReaderActivity::class.java)
|
val intent = Intent(this, ReaderActivity::class.java)
|
||||||
intent.action = ReaderActivity.ACTION_EH
|
intent.action = ReaderActivity.ACTION_EH
|
||||||
intent.putExtra(ReaderActivity.KEY_GALLERY_INFO, info)
|
intent.putExtra(ReaderActivity.KEY_GALLERY_INFO, info)
|
||||||
|
|||||||
@@ -54,7 +54,6 @@ import com.hippo.ehviewer.AppConfig
|
|||||||
import com.hippo.ehviewer.R
|
import com.hippo.ehviewer.R
|
||||||
import com.hippo.ehviewer.Settings
|
import com.hippo.ehviewer.Settings
|
||||||
import com.hippo.ehviewer.client.EhUtils
|
import com.hippo.ehviewer.client.EhUtils
|
||||||
import com.hippo.ehviewer.client.data.GalleryInfo
|
|
||||||
import com.hippo.ehviewer.client.data.ListUrlBuilder
|
import com.hippo.ehviewer.client.data.ListUrlBuilder
|
||||||
import com.hippo.ehviewer.client.parser.GalleryDetailUrlParser
|
import com.hippo.ehviewer.client.parser.GalleryDetailUrlParser
|
||||||
import com.hippo.ehviewer.client.parser.GalleryPageUrlParser
|
import com.hippo.ehviewer.client.parser.GalleryPageUrlParser
|
||||||
@@ -74,7 +73,6 @@ import com.hippo.ehviewer.util.getClipboardManager
|
|||||||
import com.hippo.ehviewer.util.getParcelableExtraCompat
|
import com.hippo.ehviewer.util.getParcelableExtraCompat
|
||||||
import com.hippo.ehviewer.util.getUrlFromClipboard
|
import com.hippo.ehviewer.util.getUrlFromClipboard
|
||||||
import com.hippo.ehviewer.yorozuya.IOUtils
|
import com.hippo.ehviewer.yorozuya.IOUtils
|
||||||
import eu.kanade.tachiyomi.ui.reader.ReaderActivity
|
|
||||||
import eu.kanade.tachiyomi.util.lang.launchUI
|
import eu.kanade.tachiyomi.util.lang.launchUI
|
||||||
import eu.kanade.tachiyomi.util.lang.withUIContext
|
import eu.kanade.tachiyomi.util.lang.withUIContext
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
@@ -108,14 +106,6 @@ class MainActivity : EhActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun startReaderActivity(galleryInfo: GalleryInfo, page: Int) {
|
|
||||||
val intent = Intent(this, ReaderActivity::class.java)
|
|
||||||
intent.action = ReaderActivity.ACTION_EH
|
|
||||||
intent.putExtra(ReaderActivity.KEY_GALLERY_INFO, galleryInfo)
|
|
||||||
intent.putExtra(ReaderActivity.KEY_PAGE, page)
|
|
||||||
startActivity(intent)
|
|
||||||
}
|
|
||||||
|
|
||||||
@Suppress("OVERRIDE_DEPRECATION")
|
@Suppress("OVERRIDE_DEPRECATION")
|
||||||
override fun onBackPressed() {
|
override fun onBackPressed() {
|
||||||
val isDrawerOpen = binding.drawView.isDrawerOpen(GravityCompat.START) or binding.drawView.isDrawerOpen(GravityCompat.END)
|
val isDrawerOpen = binding.drawView.isDrawerOpen(GravityCompat.START) or binding.drawView.isDrawerOpen(GravityCompat.END)
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ package com.hippo.ehviewer.ui
|
|||||||
|
|
||||||
import android.content.ActivityNotFoundException
|
import android.content.ActivityNotFoundException
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
@@ -32,7 +31,6 @@ import com.hippo.ehviewer.client.parser.GalleryPageUrlParser
|
|||||||
import com.hippo.ehviewer.ui.scene.GalleryDetailScene
|
import com.hippo.ehviewer.ui.scene.GalleryDetailScene
|
||||||
import com.hippo.ehviewer.ui.scene.GalleryListScene
|
import com.hippo.ehviewer.ui.scene.GalleryListScene
|
||||||
import com.hippo.ehviewer.ui.scene.ProgressScene
|
import com.hippo.ehviewer.ui.scene.ProgressScene
|
||||||
import eu.kanade.tachiyomi.ui.reader.ReaderActivity
|
|
||||||
|
|
||||||
private val intent = CustomTabsIntent.Builder().apply { setShowTitle(true) }.build()
|
private val intent = CustomTabsIntent.Builder().apply { setShowTitle(true) }.build()
|
||||||
|
|
||||||
@@ -47,23 +45,15 @@ fun Context.openBrowser(url: String) {
|
|||||||
|
|
||||||
@MainThread
|
@MainThread
|
||||||
fun Context.jumpToReaderByPage(url: String, detail: GalleryDetail): Boolean {
|
fun Context.jumpToReaderByPage(url: String, detail: GalleryDetail): Boolean {
|
||||||
fun jump(page: Int) {
|
|
||||||
Intent(this, ReaderActivity::class.java).apply {
|
|
||||||
action = ReaderActivity.ACTION_EH
|
|
||||||
putExtra(ReaderActivity.KEY_GALLERY_INFO, detail)
|
|
||||||
putExtra(ReaderActivity.KEY_PAGE, page)
|
|
||||||
startActivity(this)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
GalleryPageUrlParser.parse(url)?.let {
|
GalleryPageUrlParser.parse(url)?.let {
|
||||||
if (it.gid == detail.gid) {
|
if (it.gid == detail.gid) {
|
||||||
jump(it.page)
|
navToReader(detail, it.page)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (url.startsWith("#c")) {
|
if (url.startsWith("#c")) {
|
||||||
runCatching {
|
runCatching {
|
||||||
jump(url.replace("#c", "").toInt() - 1)
|
navToReader(detail, url.replace("#c", "").toInt() - 1)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -91,12 +91,12 @@ import com.hippo.ehviewer.ui.legacy.easyrecyclerview.FastScroller.OnDragHandlerL
|
|||||||
import com.hippo.ehviewer.ui.legacy.easyrecyclerview.HandlerDrawable
|
import com.hippo.ehviewer.ui.legacy.easyrecyclerview.HandlerDrawable
|
||||||
import com.hippo.ehviewer.ui.legacy.recyclerview.AutoStaggeredGridLayoutManager
|
import com.hippo.ehviewer.ui.legacy.recyclerview.AutoStaggeredGridLayoutManager
|
||||||
import com.hippo.ehviewer.ui.legacy.recyclerview.STRATEGY_MIN_SIZE
|
import com.hippo.ehviewer.ui.legacy.recyclerview.STRATEGY_MIN_SIZE
|
||||||
|
import com.hippo.ehviewer.ui.navToReader
|
||||||
import com.hippo.ehviewer.util.sendTo
|
import com.hippo.ehviewer.util.sendTo
|
||||||
import com.hippo.ehviewer.yorozuya.FileUtils
|
import com.hippo.ehviewer.yorozuya.FileUtils
|
||||||
import com.hippo.ehviewer.yorozuya.ObjectUtils
|
import com.hippo.ehviewer.yorozuya.ObjectUtils
|
||||||
import com.hippo.ehviewer.yorozuya.collect.LongList
|
import com.hippo.ehviewer.yorozuya.collect.LongList
|
||||||
import com.hippo.unifile.UniFile
|
import com.hippo.unifile.UniFile
|
||||||
import eu.kanade.tachiyomi.ui.reader.ReaderActivity
|
|
||||||
import eu.kanade.tachiyomi.util.lang.launchIO
|
import eu.kanade.tachiyomi.util.lang.launchIO
|
||||||
import eu.kanade.tachiyomi.util.lang.launchNonCancellable
|
import eu.kanade.tachiyomi.util.lang.launchNonCancellable
|
||||||
import eu.kanade.tachiyomi.util.lang.launchUI
|
import eu.kanade.tachiyomi.util.lang.launchUI
|
||||||
@@ -482,7 +482,7 @@ class DownloadsScene :
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun onItemClick(position: Int): Boolean {
|
fun onItemClick(position: Int): Boolean {
|
||||||
val activity = mainActivity ?: return false
|
val context = context ?: return false
|
||||||
return if (binding.recyclerView.isInCustomChoice) {
|
return if (binding.recyclerView.isInCustomChoice) {
|
||||||
binding.recyclerView.toggleItemChecked(position)
|
binding.recyclerView.toggleItemChecked(position)
|
||||||
true
|
true
|
||||||
@@ -491,10 +491,7 @@ class DownloadsScene :
|
|||||||
if (position < 0 || position >= list.size) {
|
if (position < 0 || position >= list.size) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
val intent = Intent(activity, ReaderActivity::class.java)
|
context.navToReader(list[position])
|
||||||
intent.action = ReaderActivity.ACTION_EH
|
|
||||||
intent.putExtra(ReaderActivity.KEY_GALLERY_INFO, list[position])
|
|
||||||
startActivity(intent)
|
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ import android.app.Dialog
|
|||||||
import android.app.DownloadManager
|
import android.app.DownloadManager
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.DialogInterface
|
import android.content.DialogInterface
|
||||||
import android.content.Intent
|
|
||||||
import android.content.pm.PackageManager
|
import android.content.pm.PackageManager
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
@@ -165,6 +164,7 @@ import com.hippo.ehviewer.ui.legacy.ObservedTextView
|
|||||||
import com.hippo.ehviewer.ui.legacy.URLImageGetter
|
import com.hippo.ehviewer.ui.legacy.URLImageGetter
|
||||||
import com.hippo.ehviewer.ui.legacy.recyclerview.calculateSuitableSpanCount
|
import com.hippo.ehviewer.ui.legacy.recyclerview.calculateSuitableSpanCount
|
||||||
import com.hippo.ehviewer.ui.login.LocalNavController
|
import com.hippo.ehviewer.ui.login.LocalNavController
|
||||||
|
import com.hippo.ehviewer.ui.navToReader
|
||||||
import com.hippo.ehviewer.ui.openBrowser
|
import com.hippo.ehviewer.ui.openBrowser
|
||||||
import com.hippo.ehviewer.ui.removeFromFavorites
|
import com.hippo.ehviewer.ui.removeFromFavorites
|
||||||
import com.hippo.ehviewer.ui.scene.GalleryListScene.Companion.toStartArgs
|
import com.hippo.ehviewer.ui.scene.GalleryListScene.Companion.toStartArgs
|
||||||
@@ -177,7 +177,6 @@ import com.hippo.ehviewer.util.getSystemService
|
|||||||
import com.hippo.ehviewer.yorozuya.FileUtils
|
import com.hippo.ehviewer.yorozuya.FileUtils
|
||||||
import com.hippo.ehviewer.yorozuya.ViewUtils
|
import com.hippo.ehviewer.yorozuya.ViewUtils
|
||||||
import com.hippo.ehviewer.yorozuya.collect.IntList
|
import com.hippo.ehviewer.yorozuya.collect.IntList
|
||||||
import eu.kanade.tachiyomi.ui.reader.ReaderActivity
|
|
||||||
import eu.kanade.tachiyomi.util.lang.launchIO
|
import eu.kanade.tachiyomi.util.lang.launchIO
|
||||||
import eu.kanade.tachiyomi.util.lang.withUIContext
|
import eu.kanade.tachiyomi.util.lang.withUIContext
|
||||||
import kotlinx.coroutines.CancellationException
|
import kotlinx.coroutines.CancellationException
|
||||||
@@ -657,7 +656,7 @@ class GalleryDetailScene : BaseScene(), DownloadInfoListener {
|
|||||||
items(previewList) {
|
items(previewList) {
|
||||||
EhPreviewItem(
|
EhPreviewItem(
|
||||||
galleryPreview = it,
|
galleryPreview = it,
|
||||||
onClick = { mainActivity?.startReaderActivity(gd, it.position) },
|
onClick = { context?.navToReader(gd, it.position) },
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
item(span = { GridItemSpan(maxLineSpan) }) {
|
item(span = { GridItemSpan(maxLineSpan) }) {
|
||||||
@@ -856,13 +855,7 @@ class GalleryDetailScene : BaseScene(), DownloadInfoListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun onReadButtonClick() {
|
private fun onReadButtonClick() = composeBindingGI?.let { context?.navToReader(it) }
|
||||||
val galleryDetail = composeBindingGD ?: return
|
|
||||||
val intent = Intent(activity, ReaderActivity::class.java)
|
|
||||||
intent.action = ReaderActivity.ACTION_EH
|
|
||||||
intent.putExtra(ReaderActivity.KEY_GALLERY_INFO, galleryDetail)
|
|
||||||
startActivity(intent)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onDestroyView() {
|
override fun onDestroyView() {
|
||||||
super.onDestroyView()
|
super.onDestroyView()
|
||||||
@@ -1011,15 +1004,7 @@ class GalleryDetailScene : BaseScene(), DownloadInfoListener {
|
|||||||
requireActivity().findViewById(R.id.snackbar),
|
requireActivity().findViewById(R.id.snackbar),
|
||||||
getString(R.string.read_from, mPage),
|
getString(R.string.read_from, mPage),
|
||||||
Snackbar.LENGTH_LONG,
|
Snackbar.LENGTH_LONG,
|
||||||
)
|
).setAction(R.string.read) { context?.navToReader(gd, mPage) }.show()
|
||||||
.setAction(R.string.read) {
|
|
||||||
val intent = Intent(requireContext(), ReaderActivity::class.java)
|
|
||||||
intent.action = ReaderActivity.ACTION_EH
|
|
||||||
intent.putExtra(ReaderActivity.KEY_GALLERY_INFO, composeBindingGD)
|
|
||||||
intent.putExtra(ReaderActivity.KEY_PAGE, mPage)
|
|
||||||
startActivity(intent)
|
|
||||||
}
|
|
||||||
.show()
|
|
||||||
}
|
}
|
||||||
composeBindingGI = gd
|
composeBindingGI = gd
|
||||||
composeBindingGD = gd
|
composeBindingGD = gd
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ package com.hippo.ehviewer.ui.scene
|
|||||||
import android.animation.Animator
|
import android.animation.Animator
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.DialogInterface
|
import android.content.DialogInterface
|
||||||
import android.content.Intent
|
|
||||||
import android.content.res.Resources
|
import android.content.res.Resources
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.text.InputType
|
import android.text.InputType
|
||||||
@@ -98,13 +97,13 @@ import com.hippo.ehviewer.ui.legacy.ViewTransition
|
|||||||
import com.hippo.ehviewer.ui.legacy.WindowInsetsAnimationHelper
|
import com.hippo.ehviewer.ui.legacy.WindowInsetsAnimationHelper
|
||||||
import com.hippo.ehviewer.ui.legacy.easyrecyclerview.EasyRecyclerView
|
import com.hippo.ehviewer.ui.legacy.easyrecyclerview.EasyRecyclerView
|
||||||
import com.hippo.ehviewer.ui.legacy.easyrecyclerview.FastScroller.OnDragHandlerListener
|
import com.hippo.ehviewer.ui.legacy.easyrecyclerview.FastScroller.OnDragHandlerListener
|
||||||
|
import com.hippo.ehviewer.ui.navToReader
|
||||||
import com.hippo.ehviewer.ui.removeFromFavorites
|
import com.hippo.ehviewer.ui.removeFromFavorites
|
||||||
import com.hippo.ehviewer.util.getParcelableCompat
|
import com.hippo.ehviewer.util.getParcelableCompat
|
||||||
import com.hippo.ehviewer.yorozuya.AnimationUtils
|
import com.hippo.ehviewer.yorozuya.AnimationUtils
|
||||||
import com.hippo.ehviewer.yorozuya.SimpleAnimatorListener
|
import com.hippo.ehviewer.yorozuya.SimpleAnimatorListener
|
||||||
import com.hippo.ehviewer.yorozuya.StringUtils
|
import com.hippo.ehviewer.yorozuya.StringUtils
|
||||||
import com.hippo.ehviewer.yorozuya.ViewUtils
|
import com.hippo.ehviewer.yorozuya.ViewUtils
|
||||||
import eu.kanade.tachiyomi.ui.reader.ReaderActivity
|
|
||||||
import eu.kanade.tachiyomi.util.lang.launchIO
|
import eu.kanade.tachiyomi.util.lang.launchIO
|
||||||
import eu.kanade.tachiyomi.util.lang.launchUI
|
import eu.kanade.tachiyomi.util.lang.launchUI
|
||||||
import eu.kanade.tachiyomi.util.lang.withUIContext
|
import eu.kanade.tachiyomi.util.lang.withUIContext
|
||||||
@@ -725,13 +724,7 @@ class GalleryListScene : SearchBarScene(), OnDragHandlerListener, SearchLayout.H
|
|||||||
val selected = dialogState.selectGalleryInfoAction(info)
|
val selected = dialogState.selectGalleryInfoAction(info)
|
||||||
withUIContext {
|
withUIContext {
|
||||||
when (selected) {
|
when (selected) {
|
||||||
0 -> {
|
0 -> context.navToReader(info)
|
||||||
val intent = Intent(activity, ReaderActivity::class.java)
|
|
||||||
intent.action = ReaderActivity.ACTION_EH
|
|
||||||
intent.putExtra(ReaderActivity.KEY_GALLERY_INFO, info)
|
|
||||||
startActivity(intent)
|
|
||||||
}
|
|
||||||
|
|
||||||
1 -> if (downloaded) {
|
1 -> if (downloaded) {
|
||||||
BaseDialogBuilder(context)
|
BaseDialogBuilder(context)
|
||||||
.setTitle(R.string.download_remove_dialog_title)
|
.setTitle(R.string.download_remove_dialog_title)
|
||||||
|
|||||||
@@ -16,7 +16,6 @@
|
|||||||
package com.hippo.ehviewer.ui.scene
|
package com.hippo.ehviewer.ui.scene
|
||||||
|
|
||||||
import android.content.DialogInterface
|
import android.content.DialogInterface
|
||||||
import android.content.Intent
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
@@ -85,8 +84,8 @@ import com.hippo.ehviewer.ui.compose.data.GalleryInfoListItem
|
|||||||
import com.hippo.ehviewer.ui.compose.rememberDialogState
|
import com.hippo.ehviewer.ui.compose.rememberDialogState
|
||||||
import com.hippo.ehviewer.ui.compose.setMD3Content
|
import com.hippo.ehviewer.ui.compose.setMD3Content
|
||||||
import com.hippo.ehviewer.ui.legacy.BaseDialogBuilder
|
import com.hippo.ehviewer.ui.legacy.BaseDialogBuilder
|
||||||
|
import com.hippo.ehviewer.ui.navToReader
|
||||||
import com.hippo.ehviewer.ui.removeFromFavorites
|
import com.hippo.ehviewer.ui.removeFromFavorites
|
||||||
import eu.kanade.tachiyomi.ui.reader.ReaderActivity
|
|
||||||
import eu.kanade.tachiyomi.util.lang.launchIO
|
import eu.kanade.tachiyomi.util.lang.launchIO
|
||||||
import eu.kanade.tachiyomi.util.lang.withUIContext
|
import eu.kanade.tachiyomi.util.lang.withUIContext
|
||||||
import eu.kanade.tachiyomi.util.system.pxToDp
|
import eu.kanade.tachiyomi.util.system.pxToDp
|
||||||
@@ -229,13 +228,7 @@ class HistoryScene : BaseScene() {
|
|||||||
val downloaded = DownloadManager.getDownloadState(gi.gid) != DownloadInfo.STATE_INVALID
|
val downloaded = DownloadManager.getDownloadState(gi.gid) != DownloadInfo.STATE_INVALID
|
||||||
val favourite = gi.favoriteSlot != -2
|
val favourite = gi.favoriteSlot != -2
|
||||||
when (which) {
|
when (which) {
|
||||||
0 -> {
|
0 -> context?.navToReader(gi)
|
||||||
val intent = Intent(activity, ReaderActivity::class.java)
|
|
||||||
intent.action = ReaderActivity.ACTION_EH
|
|
||||||
intent.putExtra(ReaderActivity.KEY_GALLERY_INFO, gi)
|
|
||||||
startActivity(intent)
|
|
||||||
}
|
|
||||||
|
|
||||||
1 -> if (downloaded) {
|
1 -> if (downloaded) {
|
||||||
BaseDialogBuilder(requireContext())
|
BaseDialogBuilder(requireContext())
|
||||||
.setTitle(R.string.download_remove_dialog_title)
|
.setTitle(R.string.download_remove_dialog_title)
|
||||||
|
|||||||
Reference in new issue
Block a user