Nullable source name for manga type

This commit is contained in:
Jobobby04 2021-04-14 18:16:42 -04:00
parent 142bdd14b7
commit 5af0e7e847
3 changed files with 7 additions and 7 deletions

View File

@ -885,7 +885,7 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
binding.viewerContainer.addView(newViewer.getView())
// SY -->
val defaultReaderType = manga.defaultReaderType(manga.mangaType(sourceName = sourceManager.getOrStub(manga.source).name))
val defaultReaderType = manga.defaultReaderType(manga.mangaType(sourceName = sourceManager.get(manga.source)?.name))
if (preferences.useAutoWebtoon().get() && manga.viewer == 0 && defaultReaderType != null && defaultReaderType == ReadingModeType.WEBTOON.prefValue) {
readingModeToast?.cancel()
readingModeToast = this.toast(resources.getString(R.string.eh_auto_webtoon_snack)) {

View File

@ -598,7 +598,7 @@ class ReaderPresenter(
val manga = manga ?: return preferences.defaultViewer()
// SY -->
return if (resolveDefault && manga.viewer == 0 && preferences.useAutoWebtoon().get()) {
manga.defaultReaderType(manga.mangaType(sourceName = sourceManager.getOrStub(manga.source).name)) ?: if (manga.viewer == 0) preferences.defaultViewer() else manga.viewer
manga.defaultReaderType(manga.mangaType(sourceName = sourceManager.get(manga.source)?.name)) ?: if (manga.viewer == 0) preferences.defaultViewer() else manga.viewer
} else if (resolveDefault && manga.viewer == 0) {
preferences.defaultViewer()
} else {

View File

@ -24,22 +24,22 @@ fun Manga.mangaType(context: Context): String {
/**
* The type of comic the manga is (ie. manga, manhwa, manhua)
*/
fun Manga.mangaType(sourceName: String = Injekt.get<SourceManager>().getOrStub(source).name): MangaType {
fun Manga.mangaType(sourceName: String? = Injekt.get<SourceManager>().get(source)?.name): MangaType {
val currentTags = getGenres().orEmpty()
return when {
currentTags.any { tag -> isMangaTag(tag) } -> {
MangaType.TYPE_MANGA
}
currentTags.any { tag -> isWebtoonTag(tag) } || isWebtoonSource(sourceName) -> {
currentTags.any { tag -> isWebtoonTag(tag) } || sourceName?.let { isWebtoonSource(it) } == true -> {
MangaType.TYPE_WEBTOON
}
currentTags.any { tag -> isComicTag(tag) } || isComicSource(sourceName) -> {
currentTags.any { tag -> isComicTag(tag) } || sourceName?.let { isComicSource(it) } == true -> {
MangaType.TYPE_COMIC
}
currentTags.any { tag -> isManhuaTag(tag) } || isManhuaSource(sourceName) -> {
currentTags.any { tag -> isManhuaTag(tag) } || sourceName?.let { isManhuaSource(it) } == true -> {
MangaType.TYPE_MANHUA
}
currentTags.any { tag -> isManhwaTag(tag) } || isManhwaSource(sourceName) -> {
currentTags.any { tag -> isManhwaTag(tag) } || sourceName?.let { isManhwaSource(it) } == true -> {
MangaType.TYPE_MANHWA
}
else -> {