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)
|
||||
intent.action = ReaderActivity.ACTION_EH
|
||||
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.Settings
|
||||
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.parser.GalleryDetailUrlParser
|
||||
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.getUrlFromClipboard
|
||||
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.withUIContext
|
||||
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")
|
||||
override fun onBackPressed() {
|
||||
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.Context
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
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.GalleryListScene
|
||||
import com.hippo.ehviewer.ui.scene.ProgressScene
|
||||
import eu.kanade.tachiyomi.ui.reader.ReaderActivity
|
||||
|
||||
private val intent = CustomTabsIntent.Builder().apply { setShowTitle(true) }.build()
|
||||
|
||||
@@ -47,23 +45,15 @@ fun Context.openBrowser(url: String) {
|
||||
|
||||
@MainThread
|
||||
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 {
|
||||
if (it.gid == detail.gid) {
|
||||
jump(it.page)
|
||||
navToReader(detail, it.page)
|
||||
return true
|
||||
}
|
||||
}
|
||||
if (url.startsWith("#c")) {
|
||||
runCatching {
|
||||
jump(url.replace("#c", "").toInt() - 1)
|
||||
navToReader(detail, url.replace("#c", "").toInt() - 1)
|
||||
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.recyclerview.AutoStaggeredGridLayoutManager
|
||||
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.yorozuya.FileUtils
|
||||
import com.hippo.ehviewer.yorozuya.ObjectUtils
|
||||
import com.hippo.ehviewer.yorozuya.collect.LongList
|
||||
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.launchNonCancellable
|
||||
import eu.kanade.tachiyomi.util.lang.launchUI
|
||||
@@ -482,7 +482,7 @@ class DownloadsScene :
|
||||
}
|
||||
|
||||
fun onItemClick(position: Int): Boolean {
|
||||
val activity = mainActivity ?: return false
|
||||
val context = context ?: return false
|
||||
return if (binding.recyclerView.isInCustomChoice) {
|
||||
binding.recyclerView.toggleItemChecked(position)
|
||||
true
|
||||
@@ -491,10 +491,7 @@ class DownloadsScene :
|
||||
if (position < 0 || position >= list.size) {
|
||||
return false
|
||||
}
|
||||
val intent = Intent(activity, ReaderActivity::class.java)
|
||||
intent.action = ReaderActivity.ACTION_EH
|
||||
intent.putExtra(ReaderActivity.KEY_GALLERY_INFO, list[position])
|
||||
startActivity(intent)
|
||||
context.navToReader(list[position])
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,6 @@ import android.app.Dialog
|
||||
import android.app.DownloadManager
|
||||
import android.content.Context
|
||||
import android.content.DialogInterface
|
||||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.net.Uri
|
||||
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.recyclerview.calculateSuitableSpanCount
|
||||
import com.hippo.ehviewer.ui.login.LocalNavController
|
||||
import com.hippo.ehviewer.ui.navToReader
|
||||
import com.hippo.ehviewer.ui.openBrowser
|
||||
import com.hippo.ehviewer.ui.removeFromFavorites
|
||||
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.ViewUtils
|
||||
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.withUIContext
|
||||
import kotlinx.coroutines.CancellationException
|
||||
@@ -657,7 +656,7 @@ class GalleryDetailScene : BaseScene(), DownloadInfoListener {
|
||||
items(previewList) {
|
||||
EhPreviewItem(
|
||||
galleryPreview = it,
|
||||
onClick = { mainActivity?.startReaderActivity(gd, it.position) },
|
||||
onClick = { context?.navToReader(gd, it.position) },
|
||||
)
|
||||
}
|
||||
item(span = { GridItemSpan(maxLineSpan) }) {
|
||||
@@ -856,13 +855,7 @@ class GalleryDetailScene : BaseScene(), DownloadInfoListener {
|
||||
}
|
||||
}
|
||||
|
||||
private fun onReadButtonClick() {
|
||||
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)
|
||||
}
|
||||
private fun onReadButtonClick() = composeBindingGI?.let { context?.navToReader(it) }
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
@@ -1011,15 +1004,7 @@ class GalleryDetailScene : BaseScene(), DownloadInfoListener {
|
||||
requireActivity().findViewById(R.id.snackbar),
|
||||
getString(R.string.read_from, mPage),
|
||||
Snackbar.LENGTH_LONG,
|
||||
)
|
||||
.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()
|
||||
).setAction(R.string.read) { context?.navToReader(gd, mPage) }.show()
|
||||
}
|
||||
composeBindingGI = gd
|
||||
composeBindingGD = gd
|
||||
|
||||
@@ -18,7 +18,6 @@ package com.hippo.ehviewer.ui.scene
|
||||
import android.animation.Animator
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.DialogInterface
|
||||
import android.content.Intent
|
||||
import android.content.res.Resources
|
||||
import android.os.Bundle
|
||||
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.easyrecyclerview.EasyRecyclerView
|
||||
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.util.getParcelableCompat
|
||||
import com.hippo.ehviewer.yorozuya.AnimationUtils
|
||||
import com.hippo.ehviewer.yorozuya.SimpleAnimatorListener
|
||||
import com.hippo.ehviewer.yorozuya.StringUtils
|
||||
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.launchUI
|
||||
import eu.kanade.tachiyomi.util.lang.withUIContext
|
||||
@@ -725,13 +724,7 @@ class GalleryListScene : SearchBarScene(), OnDragHandlerListener, SearchLayout.H
|
||||
val selected = dialogState.selectGalleryInfoAction(info)
|
||||
withUIContext {
|
||||
when (selected) {
|
||||
0 -> {
|
||||
val intent = Intent(activity, ReaderActivity::class.java)
|
||||
intent.action = ReaderActivity.ACTION_EH
|
||||
intent.putExtra(ReaderActivity.KEY_GALLERY_INFO, info)
|
||||
startActivity(intent)
|
||||
}
|
||||
|
||||
0 -> context.navToReader(info)
|
||||
1 -> if (downloaded) {
|
||||
BaseDialogBuilder(context)
|
||||
.setTitle(R.string.download_remove_dialog_title)
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
package com.hippo.ehviewer.ui.scene
|
||||
|
||||
import android.content.DialogInterface
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
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.setMD3Content
|
||||
import com.hippo.ehviewer.ui.legacy.BaseDialogBuilder
|
||||
import com.hippo.ehviewer.ui.navToReader
|
||||
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.withUIContext
|
||||
import eu.kanade.tachiyomi.util.system.pxToDp
|
||||
@@ -229,13 +228,7 @@ class HistoryScene : BaseScene() {
|
||||
val downloaded = DownloadManager.getDownloadState(gi.gid) != DownloadInfo.STATE_INVALID
|
||||
val favourite = gi.favoriteSlot != -2
|
||||
when (which) {
|
||||
0 -> {
|
||||
val intent = Intent(activity, ReaderActivity::class.java)
|
||||
intent.action = ReaderActivity.ACTION_EH
|
||||
intent.putExtra(ReaderActivity.KEY_GALLERY_INFO, gi)
|
||||
startActivity(intent)
|
||||
}
|
||||
|
||||
0 -> context?.navToReader(gi)
|
||||
1 -> if (downloaded) {
|
||||
BaseDialogBuilder(requireContext())
|
||||
.setTitle(R.string.download_remove_dialog_title)
|
||||
|
||||
Reference in new issue
Block a user