nullIfEmpty
This commit is contained in:
parent
9e63f32a82
commit
33b6912c22
@ -247,7 +247,7 @@ class MangaDex(delegate: HttpSource, val context: Context) :
|
||||
}
|
||||
|
||||
suspend fun getTrackingAndMangaInfo(track: Track): Pair<Track, MangaDexSearchMetadata?> {
|
||||
return mangaHandler.getTrackingInfo(track, mdList)
|
||||
return mangaHandler.getTrackingInfo(track)
|
||||
}
|
||||
|
||||
override suspend fun updateFollowStatus(mangaID: String, followStatus: FollowStatus): Boolean {
|
||||
|
@ -18,6 +18,7 @@ import exh.metadata.metadata.base.insertFlatMetadata
|
||||
import exh.util.dropEmpty
|
||||
import exh.util.executeOnIO
|
||||
import exh.util.floor
|
||||
import exh.util.nullIfEmpty
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Response
|
||||
import tachiyomi.source.model.ChapterInfo
|
||||
@ -71,7 +72,7 @@ class ApiMangaParser(val client: OkHttpClient, private val lang: String) {
|
||||
val networkManga = networkApiManga.data.attributes
|
||||
mdUuid = networkApiManga.data.id
|
||||
title = MdUtil.cleanString(networkManga.title[lang] ?: networkManga.title["en"]!!)
|
||||
altTitles = networkManga.altTitles.mapNotNull { it[lang] }
|
||||
altTitles = networkManga.altTitles.mapNotNull { it[lang] }.nullIfEmpty()
|
||||
|
||||
val coverUrl = MdUtil.formThumbUrl(networkApiManga.data.id)
|
||||
/*val coverUrlId = networkApiManga.relationships.firstOrNull { it.type == "cover_art" }?.id
|
||||
|
@ -117,7 +117,7 @@ class MangaHandler(
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun getTrackingInfo(track: Track, mdList: MdList): Pair<Track, MangaDexSearchMetadata?> {
|
||||
suspend fun getTrackingInfo(track: Track): Pair<Track, MangaDexSearchMetadata?> {
|
||||
return withIOContext {
|
||||
val metadata = async {
|
||||
val mangaUrl = MdUtil.buildMangaUrl(MdUtil.getMangaId(track.tracking_url))
|
||||
|
@ -3,6 +3,7 @@ package exh.metadata.metadata
|
||||
import android.content.Context
|
||||
import eu.kanade.tachiyomi.R
|
||||
import exh.metadata.metadata.base.RaisedSearchMetadata
|
||||
import exh.util.nullIfEmpty
|
||||
import kotlinx.serialization.Serializable
|
||||
import tachiyomi.source.model.MangaInfo
|
||||
|
||||
@ -41,7 +42,7 @@ class EightMusesSearchMetadata : RaisedSearchMetadata() {
|
||||
return with(context) {
|
||||
listOfNotNull(
|
||||
title?.let { getString(R.string.title) to it },
|
||||
path.takeUnless { it.isEmpty() }?.joinToString("/", prefix = "/")
|
||||
path.nullIfEmpty()?.joinToString("/", prefix = "/")
|
||||
?.let { getString(R.string.path) to it },
|
||||
thumbnailUrl?.let { getString(R.string.thumbnail_url) to it }
|
||||
)
|
||||
|
@ -4,6 +4,7 @@ import android.content.Context
|
||||
import eu.kanade.tachiyomi.R
|
||||
import exh.metadata.MetadataUtil
|
||||
import exh.metadata.metadata.base.RaisedSearchMetadata
|
||||
import exh.util.nullIfEmpty
|
||||
import kotlinx.serialization.Serializable
|
||||
import tachiyomi.source.model.MangaInfo
|
||||
import java.util.Date
|
||||
@ -67,12 +68,12 @@ class HitomiSearchMetadata : RaisedSearchMetadata() {
|
||||
hlId?.let { getString(R.string.id) to it },
|
||||
title?.let { getString(R.string.title) to it },
|
||||
thumbnailUrl?.let { getString(R.string.thumbnail_url) to it },
|
||||
artists.takeUnless { it.isEmpty() }?.joinToString()?.let { getString(R.string.artist) to it },
|
||||
artists.nullIfEmpty()?.joinToString()?.let { getString(R.string.artist) to it },
|
||||
group?.let { getString(R.string.group) to it },
|
||||
genre?.let { getString(R.string.genre) to it },
|
||||
language?.let { getString(R.string.language) to it },
|
||||
series.takeUnless { it.isEmpty() }?.joinToString()?.let { getString(R.string.series) to it },
|
||||
characters.takeUnless { it.isEmpty() }?.joinToString()?.let { getString(R.string.characters) to it },
|
||||
series.nullIfEmpty()?.joinToString()?.let { getString(R.string.series) to it },
|
||||
characters.nullIfEmpty()?.joinToString()?.let { getString(R.string.characters) to it },
|
||||
uploadDate?.let { getString(R.string.date_posted) to MetadataUtil.EX_DATE_FORMAT.format(Date(it)) }
|
||||
)
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ import androidx.core.net.toUri
|
||||
import eu.kanade.tachiyomi.R
|
||||
import exh.metadata.metadata.base.RaisedSearchMetadata
|
||||
import exh.metadata.metadata.base.RaisedTitle
|
||||
import exh.util.nullIfEmpty
|
||||
import kotlinx.serialization.Serializable
|
||||
import tachiyomi.source.model.MangaInfo
|
||||
|
||||
@ -70,7 +71,7 @@ class PervEdenSearchMetadata : RaisedSearchMetadata() {
|
||||
url?.let { getString(R.string.url) to it },
|
||||
thumbnailUrl?.let { getString(R.string.thumbnail_url) to it },
|
||||
title?.let { getString(R.string.title) to it },
|
||||
altTitles.takeUnless { it.isEmpty() }?.joinToString()
|
||||
altTitles.nullIfEmpty()?.joinToString()
|
||||
?.let { getString(R.string.alt_titles) to it },
|
||||
artist?.let { getString(R.string.artist) to it },
|
||||
genre?.let { getString(R.string.genre) to it },
|
||||
|
@ -6,6 +6,7 @@ import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import exh.metadata.MetadataUtil
|
||||
import exh.metadata.metadata.base.RaisedSearchMetadata
|
||||
import exh.util.nullIfEmpty
|
||||
import kotlinx.serialization.Serializable
|
||||
import tachiyomi.source.model.MangaInfo
|
||||
import java.text.SimpleDateFormat
|
||||
@ -80,8 +81,8 @@ class TsuminoSearchMetadata : RaisedSearchMetadata() {
|
||||
category?.let { getString(R.string.genre) to it },
|
||||
collection?.let { getString(R.string.collection) to it },
|
||||
group?.let { getString(R.string.group) to it },
|
||||
parody.takeUnless { it.isEmpty() }?.joinToString()?.let { getString(R.string.parodies) to it },
|
||||
character.takeUnless { it.isEmpty() }?.joinToString()?.let { getString(R.string.characters) to it },
|
||||
parody.nullIfEmpty()?.joinToString()?.let { getString(R.string.parodies) to it },
|
||||
character.nullIfEmpty()?.joinToString()?.let { getString(R.string.characters) to it },
|
||||
)
|
||||
}
|
||||
}
|
||||
|
3
app/src/main/java/exh/util/ListUtil.kt
Normal file
3
app/src/main/java/exh/util/ListUtil.kt
Normal file
@ -0,0 +1,3 @@
|
||||
package exh.util
|
||||
|
||||
fun <C : Collection<R>, R> C.nullIfEmpty() = ifEmpty { null }
|
@ -14,7 +14,7 @@ fun Manga.shouldDeleteChapters(db: DatabaseHelper, prefs: PreferencesHelper): Bo
|
||||
val categoriesForManga =
|
||||
db.getCategoriesForManga(this).executeAsBlocking()
|
||||
.mapNotNull { it.id }
|
||||
.takeUnless { it.isEmpty() } ?: listOf(0)
|
||||
.ifEmpty { listOf(0) }
|
||||
|
||||
// We want to return false if there is intersects
|
||||
// so we use isEmpty to return true if its empty
|
||||
|
Loading…
x
Reference in New Issue
Block a user