diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt index ac6b515f2..4ec1077c1 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt @@ -19,7 +19,6 @@ import com.bluelinelabs.conductor.ControllerChangeType import com.google.android.material.dialog.MaterialAlertDialogBuilder import eu.kanade.data.chapter.NoChaptersException import eu.kanade.domain.UnsortedPreferences -import eu.kanade.domain.manga.model.toDbManga import eu.kanade.presentation.components.ChangeCategoryDialog import eu.kanade.presentation.components.ChapterDownloadAction import eu.kanade.presentation.components.DuplicateMangaDialog @@ -312,7 +311,7 @@ class MangaController : FullComposeController { source ?: return manga ?: return val url = try { - source.mangaDetailsRequest(manga.toDbManga()).url.toString() + source.getMangaUrl(manga.toSManga()) } catch (e: Exception) { return } @@ -322,12 +321,12 @@ class MangaController : FullComposeController { startActivity(intent) } - fun shareManga() { + private fun shareManga() { val context = view?.context ?: return val manga = presenter.manga ?: return val source = presenter.source as? HttpSource ?: return try { - val url = source.mangaDetailsRequest(manga.toDbManga()).url.toString() + val url = source.getMangaUrl(manga.toSManga()) val intent = Intent(Intent.ACTION_SEND).apply { type = "text/plain" putExtra(Intent.EXTRA_TEXT, url) diff --git a/source-api/src/main/java/eu/kanade/tachiyomi/source/online/HttpSource.kt b/source-api/src/main/java/eu/kanade/tachiyomi/source/online/HttpSource.kt index ba50460fb..774f948e4 100755 --- a/source-api/src/main/java/eu/kanade/tachiyomi/source/online/HttpSource.kt +++ b/source-api/src/main/java/eu/kanade/tachiyomi/source/online/HttpSource.kt @@ -390,6 +390,28 @@ abstract class HttpSource : CatalogueSource { } } + /** + * Returns the url of the provided manga + * + * @since extensions-lib 1.4 + * @param manga the manga + * @return url of the manga + */ + open fun getMangaUrl(manga: SManga): String { + return mangaDetailsRequest(manga).url.toString() + } + + /** + * Returns the url of the provided chapter + * + * @since extensions-lib 1.4 + * @param chapter the chapter + * @return url of the chapter + */ + open fun getChapterUrl(chapter: SChapter): String { + return pageListRequest(chapter).url.toString() + } + /** * Called before inserting a new chapter into database. Use it if you need to override chapter * fields, like the title or the chapter number. Do not change anything to [manga].