diff --git a/app/src/main/java/exh/metadata/metadata/EHentaiSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/EHentaiSearchMetadata.kt index 812f54120..f31144c61 100644 --- a/app/src/main/java/exh/metadata/metadata/EHentaiSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/EHentaiSearchMetadata.kt @@ -58,7 +58,7 @@ class EHentaiSearchMetadata : RaisedSearchMetadata() { } // Set artist (if we can find one) - val artist = tags.filter { it.namespace == EH_ARTIST_NAMESPACE }.let { tags -> + val artist = tags.ofNamespace(EH_ARTIST_NAMESPACE).let { tags -> if (tags.isNotEmpty()) tags.joinToString(transform = { it.name }) else null } @@ -90,29 +90,29 @@ class EHentaiSearchMetadata : RaisedSearchMetadata() { } override fun getExtraInfoPairs(context: Context): List> { - val pairs = mutableListOf>() - - gId?.let { pairs += context.getString(R.string.id) to it } - gToken?.let { pairs += context.getString(R.string.token) to it } - exh?.let { pairs += context.getString(R.string.is_exhentai_gallery) to context.getString(if (it) android.R.string.yes else android.R.string.no) } - thumbnailUrl?.let { pairs += context.getString(R.string.thumbnail_url) to it } - title?.let { pairs += context.getString(R.string.title) to it } - altTitle?.let { pairs += context.getString(R.string.alt_title) to it } - genre?.let { pairs += context.getString(R.string.genre) to it } - datePosted?.let { pairs += context.getString(R.string.date_posted) to MetadataUtil.EX_DATE_FORMAT.format(Date(it)) } - parent?.let { pairs += context.getString(R.string.parent) to it } - visible?.let { pairs += context.getString(R.string.visible) to it } - language?.let { pairs += context.getString(R.string.language) to it } - translated?.let { pairs += "Translated" to context.getString(if (it) android.R.string.yes else android.R.string.no) } - size?.let { pairs += context.getString(R.string.gallery_size) to MetadataUtil.humanReadableByteCount(it, true) } - length?.let { pairs += context.getString(R.string.page_count) to it.toString() } - favorites?.let { pairs += context.getString(R.string.total_favorites) to it.toString() } - ratingCount?.let { pairs += context.getString(R.string.total_ratings) to it.toString() } - averageRating?.let { pairs += context.getString(R.string.average_rating) to it.toString() } - aged.let { pairs += context.getString(R.string.aged) to context.getString(if (it) android.R.string.yes else android.R.string.no) } - lastUpdateCheck.let { pairs += context.getString(R.string.last_update_check) to MetadataUtil.EX_DATE_FORMAT.format(Date(it)) } - - return pairs + return with(context) { + listOfNotNull( + gId?.let { getString(R.string.id) to it }, + gToken?.let { getString(R.string.token) to it }, + exh?.let { getString(R.string.is_exhentai_gallery) to it.toString() }, + thumbnailUrl?.let { getString(R.string.thumbnail_url) to it }, + title?.let { getString(R.string.title) to it }, + altTitle?.let { getString(R.string.alt_title) to it }, + genre?.let { getString(R.string.genre) to it }, + datePosted?.let { getString(R.string.date_posted) to MetadataUtil.EX_DATE_FORMAT.format(Date(it)) }, + parent?.let { getString(R.string.parent) to it }, + visible?.let { getString(R.string.visible) to it }, + language?.let { getString(R.string.language) to it }, + translated?.let { getString(R.string.translated) to it.toString() }, + size?.let { getString(R.string.gallery_size) to MetadataUtil.humanReadableByteCount(it, true) }, + length?.let { getString(R.string.page_count) to it.toString() }, + favorites?.let { getString(R.string.total_favorites) to it.toString() }, + ratingCount?.let { getString(R.string.total_ratings) to it.toString() }, + averageRating?.let { getString(R.string.average_rating) to it.toString() }, + aged.let { getString(R.string.aged) to it.toString() }, + lastUpdateCheck.let { getString(R.string.last_update_check) to MetadataUtil.EX_DATE_FORMAT.format(Date(it)) }, + ) + } } companion object { diff --git a/app/src/main/java/exh/metadata/metadata/EightMusesSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/EightMusesSearchMetadata.kt index 836999574..cc030f7d7 100644 --- a/app/src/main/java/exh/metadata/metadata/EightMusesSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/EightMusesSearchMetadata.kt @@ -38,14 +38,14 @@ class EightMusesSearchMetadata : RaisedSearchMetadata() { } override fun getExtraInfoPairs(context: Context): List> { - val pairs = mutableListOf>() - title?.let { pairs += context.getString(R.string.title) to it } - val path = path.joinToString("/", prefix = "/") - if (path.isNotBlank()) { - pairs += context.getString(R.string.path) to path + return with(context) { + listOfNotNull( + title?.let { getString(R.string.title) to it }, + path.takeUnless { it.isEmpty() }?.joinToString("/", prefix = "/") + ?.let { getString(R.string.path) to it }, + thumbnailUrl?.let { getString(R.string.thumbnail_url) to it } + ) } - thumbnailUrl?.let { pairs += context.getString(R.string.thumbnail_url) to it } - return pairs } companion object { diff --git a/app/src/main/java/exh/metadata/metadata/HBrowseSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/HBrowseSearchMetadata.kt index 9f63cad84..6e9e69906 100644 --- a/app/src/main/java/exh/metadata/metadata/HBrowseSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/HBrowseSearchMetadata.kt @@ -46,13 +46,15 @@ class HBrowseSearchMetadata : RaisedSearchMetadata() { } override fun getExtraInfoPairs(context: Context): List> { - val pairs = mutableListOf>() - hbId?.let { pairs += context.getString(R.string.id) to it.toString() } - hbUrl?.let { pairs += context.getString(R.string.url) to it } - thumbnail?.let { pairs += context.getString(R.string.thumbnail_url) to it } - title?.let { pairs += context.getString(R.string.title) to it } - length?.let { pairs += context.getString(R.string.page_count) to it.toString() } - return pairs + return with(context) { + listOfNotNull( + hbId?.let { getString(R.string.id) to it.toString() }, + hbUrl?.let { getString(R.string.url) to it }, + thumbnail?.let { getString(R.string.thumbnail_url) to it }, + title?.let { getString(R.string.title) to it }, + length?.let { getString(R.string.page_count) to it.toString() } + ) + } } companion object { diff --git a/app/src/main/java/exh/metadata/metadata/HitomiSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/HitomiSearchMetadata.kt index 4a0e46555..b46af4169 100644 --- a/app/src/main/java/exh/metadata/metadata/HitomiSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/HitomiSearchMetadata.kt @@ -62,29 +62,20 @@ class HitomiSearchMetadata : RaisedSearchMetadata() { } override fun getExtraInfoPairs(context: Context): List> { - val pairs = mutableListOf>() - with(context) { - hlId?.let { pairs += getString(R.string.id) to it } - title?.let { pairs += getString(R.string.title) to it } - thumbnailUrl?.let { pairs += getString(R.string.thumbnail_url) to it } - val artists = artists.joinToString() - if (artists.isNotBlank()) { - pairs += getString(R.string.artist) to artists - } - group?.let { pairs += getString(R.string.group) to it } - genre?.let { pairs += getString(R.string.genre) to it } - language?.let { pairs += getString(R.string.language) to it } - val series = series.joinToString() - if (series.isNotBlank()) { - pairs += getString(R.string.series) to series - } - val characters = characters.joinToString() - if (characters.isNotBlank()) { - pairs += getString(R.string.characters) to characters - } - uploadDate?.let { pairs += getString(R.string.date_posted) to MetadataUtil.EX_DATE_FORMAT.format(Date(it)) } + return with(context) { + listOfNotNull( + 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 }, + 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 }, + uploadDate?.let { getString(R.string.date_posted) to MetadataUtil.EX_DATE_FORMAT.format(Date(it)) } + ) } - return pairs } companion object { diff --git a/app/src/main/java/exh/metadata/metadata/MangaDexSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/MangaDexSearchMetadata.kt index c858ef1bc..138f23121 100644 --- a/app/src/main/java/exh/metadata/metadata/MangaDexSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/MangaDexSearchMetadata.kt @@ -73,26 +73,28 @@ class MangaDexSearchMetadata : RaisedSearchMetadata() { } override fun getExtraInfoPairs(context: Context): List> { - val pairs = mutableListOf>() - mdUuid?.let { pairs += context.getString(R.string.id) to it } - // mdUrl?.let { pairs += context.getString(R.string.url) to it } - cover?.let { pairs += context.getString(R.string.thumbnail_url) to it } - title?.let { pairs += context.getString(R.string.title) to it } - authors?.let { pairs += context.getString(R.string.author) to it.joinToString() } - artists?.let { pairs += context.getString(R.string.artist) to it.joinToString() } - langFlag?.let { pairs += context.getString(R.string.language) to it } - lastChapterNumber?.let { pairs += context.getString(R.string.last_chapter_number) to it.toString() } - // rating?.let { pairs += context.getString(R.string.average_rating) to it } - // users?.let { pairs += context.getString(R.string.total_ratings) to it } - status?.let { pairs += context.getString(R.string.status) to it.toString() } - // missing_chapters?.let { pairs += context.getString(R.string.missing_chapters) to it } - followStatus?.let { pairs += context.getString(R.string.follow_status) to it.toString() } - anilistId?.let { pairs += context.getString(R.string.anilist_id) to it } - kitsuId?.let { pairs += context.getString(R.string.kitsu_id) to it } - myAnimeListId?.let { pairs += context.getString(R.string.mal_id) to it } - mangaUpdatesId?.let { pairs += context.getString(R.string.manga_updates_id) to it } - animePlanetId?.let { pairs += context.getString(R.string.anime_planet_id) to it } - return pairs + return with(context) { + listOfNotNull( + mdUuid?.let { getString(R.string.id) to it }, + // mdUrl?.let { getString(R.string.url) to it }, + cover?.let { getString(R.string.thumbnail_url) to it }, + title?.let { getString(R.string.title) to it }, + authors?.let { getString(R.string.author) to it.joinToString() }, + artists?.let { getString(R.string.artist) to it.joinToString() }, + langFlag?.let { getString(R.string.language) to it }, + lastChapterNumber?.let { getString(R.string.last_chapter_number) to it.toString() }, + // rating?.let { getString(R.string.average_rating) to it }, + // users?.let { getString(R.string.total_ratings) to it }, + status?.let { getString(R.string.status) to it.toString() }, + // missing_chapters?.let { getString(R.string.missing_chapters) to it }, + followStatus?.let { getString(R.string.follow_status) to it.toString() }, + anilistId?.let { getString(R.string.anilist_id) to it }, + kitsuId?.let { getString(R.string.kitsu_id) to it }, + myAnimeListId?.let { getString(R.string.mal_id) to it }, + mangaUpdatesId?.let { getString(R.string.manga_updates_id) to it }, + animePlanetId?.let { getString(R.string.anime_planet_id) to it }, + ) + } } companion object { diff --git a/app/src/main/java/exh/metadata/metadata/NHentaiSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/NHentaiSearchMetadata.kt index d7da1ee95..0cd786a59 100644 --- a/app/src/main/java/exh/metadata/metadata/NHentaiSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/NHentaiSearchMetadata.kt @@ -54,7 +54,7 @@ class NHentaiSearchMetadata : RaisedSearchMetadata() { } // Set artist (if we can find one) - val artist = tags.filter { it.namespace == NHENTAI_ARTIST_NAMESPACE }.let { tags -> + val artist = tags.ofNamespace(NHENTAI_ARTIST_NAMESPACE).let { tags -> if (tags.isNotEmpty()) tags.joinToString(transform = { it.name }) else null } @@ -86,19 +86,21 @@ class NHentaiSearchMetadata : RaisedSearchMetadata() { } override fun getExtraInfoPairs(context: Context): List> { - val pairs = mutableListOf>() - nhId?.let { pairs += context.getString(R.string.id) to it.toString() } - uploadDate?.let { pairs += context.getString(R.string.date_posted) to MetadataUtil.EX_DATE_FORMAT.format(Date(it * 1000)) } - favoritesCount?.let { pairs += context.getString(R.string.total_favorites) to it.toString() } - mediaId?.let { pairs += context.getString(R.string.media_id) to it } - japaneseTitle?.let { pairs += context.getString(R.string.japanese_title) to it } - englishTitle?.let { pairs += context.getString(R.string.english_title) to it } - shortTitle?.let { pairs += context.getString(R.string.short_title) to it } - coverImageType?.let { pairs += context.getString(R.string.cover_image_file_type) to it } - pageImageTypes.size.let { pairs += context.getString(R.string.page_count) to it.toString() } - thumbnailImageType?.let { pairs += context.getString(R.string.thumbnail_image_file_type) to it } - scanlator?.let { pairs += context.getString(R.string.scanlator) to it } - return pairs + return with(context) { + listOfNotNull( + nhId?.let { getString(R.string.id) to it.toString() }, + uploadDate?.let { getString(R.string.date_posted) to MetadataUtil.EX_DATE_FORMAT.format(Date(it * 1000)) }, + favoritesCount?.let { getString(R.string.total_favorites) to it.toString() }, + mediaId?.let { getString(R.string.media_id) to it }, + japaneseTitle?.let { getString(R.string.japanese_title) to it }, + englishTitle?.let { getString(R.string.english_title) to it }, + shortTitle?.let { getString(R.string.short_title) to it }, + coverImageType?.let { getString(R.string.cover_image_file_type) to it }, + pageImageTypes.size.let { getString(R.string.page_count) to it.toString() }, + thumbnailImageType?.let { getString(R.string.thumbnail_image_file_type) to it }, + scanlator?.let { getString(R.string.scanlator) to it }, + ) + } } companion object { diff --git a/app/src/main/java/exh/metadata/metadata/PervEdenSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/PervEdenSearchMetadata.kt index f7000f7f4..0ab64860d 100644 --- a/app/src/main/java/exh/metadata/metadata/PervEdenSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/PervEdenSearchMetadata.kt @@ -64,21 +64,21 @@ class PervEdenSearchMetadata : RaisedSearchMetadata() { } override fun getExtraInfoPairs(context: Context): List> { - val pairs = mutableListOf>() - pvId?.let { pairs += context.getString(R.string.id) to it } - url?.let { pairs += context.getString(R.string.url) to it } - thumbnailUrl?.let { pairs += context.getString(R.string.thumbnail_url) to it } - title?.let { pairs += context.getString(R.string.title) to it } - val altTitles = altTitles.joinToString() - if (altTitles.isNotBlank()) { - pairs += context.getString(R.string.alt_titles) to altTitles + return with(context) { + listOfNotNull( + pvId?.let { getString(R.string.id) to it }, + 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() + ?.let { getString(R.string.alt_titles) to it }, + artist?.let { getString(R.string.artist) to it }, + genre?.let { getString(R.string.genre) to it }, + rating?.let { getString(R.string.average_rating) to it.toString() }, + status?.let { getString(R.string.status) to it }, + lang?.let { getString(R.string.language) to it }, + ) } - artist?.let { pairs += context.getString(R.string.artist) to it } - genre?.let { pairs += context.getString(R.string.genre) to it } - rating?.let { pairs += context.getString(R.string.average_rating) to it.toString() } - status?.let { pairs += context.getString(R.string.status) to it } - lang?.let { pairs += context.getString(R.string.language) to it } - return pairs } companion object { @@ -88,9 +88,7 @@ class PervEdenSearchMetadata : RaisedSearchMetadata() { const val TAG_TYPE_DEFAULT = 0 private fun splitGalleryUrl(url: String) = - url.let { - it.toUri().pathSegments.filterNot(String::isNullOrBlank) - } + url.toUri().pathSegments.filterNot(String::isNullOrBlank) fun pvIdFromUrl(url: String): String = splitGalleryUrl(url).last() } diff --git a/app/src/main/java/exh/metadata/metadata/PururinSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/PururinSearchMetadata.kt index 17a1dc23b..e56fb4599 100644 --- a/app/src/main/java/exh/metadata/metadata/PururinSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/PururinSearchMetadata.kt @@ -54,18 +54,20 @@ class PururinSearchMetadata : RaisedSearchMetadata() { } override fun getExtraInfoPairs(context: Context): List> { - val pairs = mutableListOf>() - prId?.let { pairs += context.getString(R.string.id) to it.toString() } - title?.let { pairs += context.getString(R.string.title) to it } - altTitle?.let { pairs += context.getString(R.string.alt_title) to it } - thumbnailUrl?.let { pairs += context.getString(R.string.thumbnail_url) to it } - uploaderDisp?.let { pairs += context.getString(R.string.uploader_capital) to it } - uploader?.let { pairs += context.getString(R.string.uploader) to it } - pages?.let { pairs += context.getString(R.string.page_count) to it.toString() } - fileSize?.let { pairs += context.getString(R.string.gallery_size) to it } - ratingCount?.let { pairs += context.getString(R.string.total_ratings) to it.toString() } - averageRating?.let { pairs += context.getString(R.string.average_rating) to it.toString() } - return pairs + return with(context) { + listOfNotNull( + prId?.let { getString(R.string.id) to it.toString() }, + title?.let { getString(R.string.title) to it }, + altTitle?.let { getString(R.string.alt_title) to it }, + thumbnailUrl?.let { getString(R.string.thumbnail_url) to it }, + uploaderDisp?.let { getString(R.string.uploader_capital) to it }, + uploader?.let { getString(R.string.uploader) to it }, + pages?.let { getString(R.string.page_count) to it.toString() }, + fileSize?.let { getString(R.string.gallery_size) to it }, + ratingCount?.let { getString(R.string.total_ratings) to it.toString() }, + averageRating?.let { getString(R.string.average_rating) to it.toString() }, + ) + } } companion object { diff --git a/app/src/main/java/exh/metadata/metadata/TsuminoSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/TsuminoSearchMetadata.kt index 68c5b1761..1280ab507 100644 --- a/app/src/main/java/exh/metadata/metadata/TsuminoSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/TsuminoSearchMetadata.kt @@ -66,28 +66,24 @@ class TsuminoSearchMetadata : RaisedSearchMetadata() { } override fun getExtraInfoPairs(context: Context): List> { - val pairs = mutableListOf>() - tmId?.let { pairs += context.getString(R.string.id) to it.toString() } - title?.let { pairs += context.getString(R.string.title) to it } - uploader?.let { pairs += context.getString(R.string.uploader) to it } - uploadDate?.let { pairs += context.getString(R.string.date_posted) to MetadataUtil.EX_DATE_FORMAT.format(Date(it)) } - length?.let { pairs += context.getString(R.string.page_count) to it.toString() } - ratingString?.let { pairs += context.getString(R.string.rating_string) to it } - averageRating?.let { pairs += context.getString(R.string.average_rating) to it.toString() } - userRatings?.let { pairs += context.getString(R.string.total_ratings) to it.toString() } - favorites?.let { pairs += context.getString(R.string.total_favorites) to it.toString() } - category?.let { pairs += context.getString(R.string.genre) to it } - collection?.let { pairs += context.getString(R.string.collection) to it } - group?.let { pairs += context.getString(R.string.group) to it } - val parodiesString = parody.joinToString() - if (parodiesString.isNotEmpty()) { - pairs += context.getString(R.string.parodies) to parodiesString + return with(context) { + listOfNotNull( + tmId?.let { getString(R.string.id) to it.toString() }, + title?.let { getString(R.string.title) to it }, + uploader?.let { getString(R.string.uploader) to it }, + uploadDate?.let { getString(R.string.date_posted) to MetadataUtil.EX_DATE_FORMAT.format(Date(it)) }, + length?.let { getString(R.string.page_count) to it.toString() }, + ratingString?.let { getString(R.string.rating_string) to it }, + averageRating?.let { getString(R.string.average_rating) to it.toString() }, + userRatings?.let { getString(R.string.total_ratings) to it.toString() }, + favorites?.let { getString(R.string.total_favorites) to it.toString() }, + 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 }, + ) } - val charactersString = character.joinToString() - if (charactersString.isNotEmpty()) { - pairs += context.getString(R.string.characters) to charactersString - } - return pairs } companion object { diff --git a/app/src/main/res/values/strings_sy.xml b/app/src/main/res/values/strings_sy.xml index a6c496aaf..87c538118 100644 --- a/app/src/main/res/values/strings_sy.xml +++ b/app/src/main/res/values/strings_sy.xml @@ -584,6 +584,7 @@ Mal id Manga updates id Anime planet id + Translated