diff --git a/app/src/main/java/com/hippo/ehviewer/ui/CommonOperations.kt b/app/src/main/java/com/hippo/ehviewer/ui/CommonOperations.kt index 2bb7bac1e..66d1a7602 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/CommonOperations.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/CommonOperations.kt @@ -34,6 +34,7 @@ import com.hippo.ehviewer.ui.scene.BaseScene import com.hippo.unifile.UniFile import com.hippo.util.requestPermission import com.hippo.yorozuya.collect.LongList +import eu.kanade.tachiyomi.ui.reader.ReaderActivity import eu.kanade.tachiyomi.util.lang.launchNow import eu.kanade.tachiyomi.util.lang.withUIContext import kotlinx.coroutines.suspendCancellableCoroutine @@ -234,3 +235,11 @@ suspend fun removeFromFavorites(galleryInfo: GalleryInfo) { favouriteStatusRouter.modifyFavourites(galleryInfo.gid, -2) } } + +fun Context.navToReader(info: GalleryInfo, page: Int) { + val intent = Intent(this, ReaderActivity::class.java) + intent.action = ReaderActivity.ACTION_EH + intent.putExtra(ReaderActivity.KEY_GALLERY_INFO, info) + intent.putExtra(ReaderActivity.KEY_PAGE, page) + startActivity(intent) +} diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryPreviewsScene.kt b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryPreviewsScene.kt index f510eec2c..f3aca6d12 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryPreviewsScene.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryPreviewsScene.kt @@ -48,9 +48,11 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.platform.LocalConfiguration +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp +import androidx.fragment.app.Fragment import androidx.lifecycle.lifecycleScope import androidx.navigation.fragment.findNavController import androidx.paging.Pager @@ -69,6 +71,7 @@ import com.hippo.ehviewer.client.EhUrl import com.hippo.ehviewer.client.data.GalleryDetail import com.hippo.ehviewer.client.data.GalleryPreview import com.hippo.ehviewer.coil.imageRequest +import com.hippo.ehviewer.ui.navToReader import com.hippo.ehviewer.ui.widget.EhPreviewItem import com.hippo.ehviewer.ui.widget.rememberDialogState import com.hippo.ehviewer.ui.widget.setMD3Content @@ -83,12 +86,13 @@ import kotlin.math.roundToInt typealias PreviewPage = List -class GalleryPreviewsScene : BaseScene() { +class GalleryPreviewsScene : Fragment() { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { return ComposeView(inflater.context).apply { setMD3Content { val galleryDetail = rememberSaveable { requireArguments().getParcelableCompat(KEY_GALLERY_DETAIL)!! } - fun onPreviewCLick(index: Int) = mainActivity!!.startReaderActivity(galleryDetail, index) + val context = LocalContext.current + fun onPreviewCLick(index: Int) = context.navToReader(galleryDetail, index) val toNextPage = rememberSaveable { requireArguments().getBoolean(KEY_NEXT_PAGE) } val scrollBehaviour = TopAppBarDefaults.pinnedScrollBehavior() // Padding is not subtracted here to have the same column count as gallery list and preview