Remove Hentai Cafe Delegation
This commit is contained in:
@@ -26,7 +26,6 @@ import exh.merged.sql.models.MergedMangaReference
|
||||
import exh.source.BlacklistedSources
|
||||
import exh.source.EH_SOURCE_ID
|
||||
import exh.source.HBROWSE_SOURCE_ID
|
||||
import exh.source.HENTAI_CAFE_SOURCE_ID
|
||||
import exh.source.MERGED_SOURCE_ID
|
||||
import exh.source.PERV_EDEN_EN_SOURCE_ID
|
||||
import exh.source.PERV_EDEN_IT_SOURCE_ID
|
||||
@@ -241,11 +240,6 @@ object EXHMigrations {
|
||||
manga.url = getUrlWithoutDomain(manga.url)
|
||||
}
|
||||
|
||||
// Migrate HentaiCafe source IDs
|
||||
if (manga.source == 6908L) {
|
||||
manga.source = HENTAI_CAFE_SOURCE_ID
|
||||
}
|
||||
|
||||
// Migrate Tsumino source IDs
|
||||
if (manga.source == 6909L) {
|
||||
manga.source = TSUMINO_SOURCE_ID
|
||||
|
||||
@@ -1,72 +0,0 @@
|
||||
package exh.metadata.metadata
|
||||
|
||||
import android.content.Context
|
||||
import eu.kanade.tachiyomi.R
|
||||
import exh.metadata.metadata.base.RaisedSearchMetadata
|
||||
import kotlinx.serialization.Serializable
|
||||
import tachiyomi.source.model.MangaInfo
|
||||
|
||||
@Serializable
|
||||
class HentaiCafeSearchMetadata : RaisedSearchMetadata() {
|
||||
var hcId: String? = null
|
||||
var readerId: String? = null
|
||||
|
||||
var url get() = hcId?.let { "$BASE_URL/$it" }
|
||||
set(a) {
|
||||
a?.let {
|
||||
hcId = hcIdFromUrl(a)
|
||||
}
|
||||
}
|
||||
|
||||
var thumbnailUrl: String? = null
|
||||
|
||||
var title by titleDelegate(TITLE_TYPE_MAIN)
|
||||
|
||||
var artist: String? = null
|
||||
|
||||
override fun createMangaInfo(manga: MangaInfo): MangaInfo {
|
||||
val cover = thumbnailUrl
|
||||
|
||||
val title = title
|
||||
val artist = artist
|
||||
val author = artist
|
||||
|
||||
// Not available
|
||||
val status = MangaInfo.UNKNOWN
|
||||
|
||||
val genres = tagsToGenreList()
|
||||
|
||||
val description = "meta"
|
||||
|
||||
return manga.copy(
|
||||
cover = cover ?: manga.cover,
|
||||
title = title ?: manga.title,
|
||||
artist = artist ?: manga.artist,
|
||||
author = author ?: manga.author,
|
||||
status = status,
|
||||
genres = genres,
|
||||
description = description
|
||||
)
|
||||
}
|
||||
|
||||
override fun getExtraInfoPairs(context: Context): List<Pair<String, String>> {
|
||||
val pairs = mutableListOf<Pair<String, String>>()
|
||||
hcId?.let { pairs += context.getString(R.string.id) to it }
|
||||
readerId?.let { pairs += context.getString(R.string.reader_id) to it }
|
||||
thumbnailUrl?.let { pairs += context.getString(R.string.thumbnail_url) to it }
|
||||
title?.let { pairs += context.getString(R.string.title) to it }
|
||||
artist?.let { pairs += context.getString(R.string.artist) to it }
|
||||
return pairs
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val TITLE_TYPE_MAIN = 0
|
||||
|
||||
const val TAG_TYPE_DEFAULT = 0
|
||||
|
||||
const val BASE_URL = "https://hentai.cafe"
|
||||
|
||||
fun hcIdFromUrl(url: String) =
|
||||
url.split("/").last { it.isNotBlank() }
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,6 @@ import exh.metadata.forEach
|
||||
import exh.metadata.metadata.EHentaiSearchMetadata
|
||||
import exh.metadata.metadata.EightMusesSearchMetadata
|
||||
import exh.metadata.metadata.HBrowseSearchMetadata
|
||||
import exh.metadata.metadata.HentaiCafeSearchMetadata
|
||||
import exh.metadata.metadata.HitomiSearchMetadata
|
||||
import exh.metadata.metadata.MangaDexSearchMetadata
|
||||
import exh.metadata.metadata.NHentaiSearchMetadata
|
||||
@@ -161,7 +160,6 @@ abstract class RaisedSearchMetadata {
|
||||
subclass(EHentaiSearchMetadata::class)
|
||||
subclass(EightMusesSearchMetadata::class)
|
||||
subclass(HBrowseSearchMetadata::class)
|
||||
subclass(HentaiCafeSearchMetadata::class)
|
||||
subclass(HitomiSearchMetadata::class)
|
||||
subclass(MangaDexSearchMetadata::class)
|
||||
subclass(NHentaiSearchMetadata::class)
|
||||
|
||||
@@ -9,7 +9,6 @@ import eu.kanade.tachiyomi.source.online.all.NHentai
|
||||
import eu.kanade.tachiyomi.source.online.all.PervEden
|
||||
import eu.kanade.tachiyomi.source.online.english.EightMuses
|
||||
import eu.kanade.tachiyomi.source.online.english.HBrowse
|
||||
import eu.kanade.tachiyomi.source.online.english.HentaiCafe
|
||||
import eu.kanade.tachiyomi.source.online.english.Pururin
|
||||
import eu.kanade.tachiyomi.source.online.english.Tsumino
|
||||
|
||||
@@ -23,7 +22,6 @@ const val EH_SOURCE_ID = LEWD_SOURCE_SERIES + 1
|
||||
const val EXH_SOURCE_ID = LEWD_SOURCE_SERIES + 2
|
||||
const val PERV_EDEN_EN_SOURCE_ID = 4673633799850248749
|
||||
const val PERV_EDEN_IT_SOURCE_ID = 1433898225963724122
|
||||
const val HENTAI_CAFE_SOURCE_ID = 260868874183818481
|
||||
const val PURURIN_SOURCE_ID = 2221515250486218861
|
||||
const val TSUMINO_SOURCE_ID = 6707338697138388238
|
||||
const val EIGHTMUSES_SOURCE_ID = 1802675169972965535
|
||||
@@ -32,7 +30,6 @@ const val MERGED_SOURCE_ID = LEWD_SOURCE_SERIES + 69
|
||||
|
||||
private val DELEGATED_METADATA_SOURCES by lazy {
|
||||
listOf(
|
||||
HentaiCafe::class,
|
||||
Pururin::class,
|
||||
Tsumino::class,
|
||||
HBrowse::class,
|
||||
@@ -55,7 +52,6 @@ var mangaDexSourceIds: List<Long> = emptyList()
|
||||
var LIBRARY_UPDATE_EXCLUDED_SOURCES = listOf(
|
||||
EH_SOURCE_ID,
|
||||
EXH_SOURCE_ID,
|
||||
HENTAI_CAFE_SOURCE_ID,
|
||||
TSUMINO_SOURCE_ID,
|
||||
PURURIN_SOURCE_ID
|
||||
)
|
||||
@@ -92,7 +88,6 @@ fun handleSourceLibrary() {
|
||||
LIBRARY_UPDATE_EXCLUDED_SOURCES = listOf(
|
||||
EH_SOURCE_ID,
|
||||
EXH_SOURCE_ID,
|
||||
HENTAI_CAFE_SOURCE_ID,
|
||||
TSUMINO_SOURCE_ID,
|
||||
PURURIN_SOURCE_ID
|
||||
) + hitomiSourceIds + nHentaiSourceIds
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
package exh.ui.metadata.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.databinding.DescriptionAdapterHcBinding
|
||||
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
|
||||
import eu.kanade.tachiyomi.ui.manga.MangaController
|
||||
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
||||
import exh.metadata.bindDrawable
|
||||
import exh.metadata.metadata.HentaiCafeSearchMetadata
|
||||
import exh.ui.metadata.MetadataViewController
|
||||
|
||||
class HentaiCafeDescriptionAdapter(
|
||||
private val controller: MangaController
|
||||
) :
|
||||
RecyclerView.Adapter<HentaiCafeDescriptionAdapter.HentaiCafeDescriptionViewHolder>() {
|
||||
|
||||
private lateinit var binding: DescriptionAdapterHcBinding
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): HentaiCafeDescriptionViewHolder {
|
||||
binding = DescriptionAdapterHcBinding.inflate(LayoutInflater.from(parent.context), parent, false)
|
||||
return HentaiCafeDescriptionViewHolder(binding.root)
|
||||
}
|
||||
|
||||
override fun getItemCount(): Int = 1
|
||||
|
||||
override fun onBindViewHolder(holder: HentaiCafeDescriptionViewHolder, position: Int) {
|
||||
holder.bind()
|
||||
}
|
||||
|
||||
inner class HentaiCafeDescriptionViewHolder(view: View) : RecyclerView.ViewHolder(view) {
|
||||
fun bind() {
|
||||
val meta = controller.presenter.meta
|
||||
if (meta == null || meta !is HentaiCafeSearchMetadata) return
|
||||
|
||||
binding.artist.text = meta.artist ?: itemView.context.getString(R.string.unknown)
|
||||
|
||||
binding.moreInfo.bindDrawable(itemView.context, R.drawable.ic_info_24dp)
|
||||
|
||||
binding.artist.setOnLongClickListener {
|
||||
itemView.context.copyToClipboard(
|
||||
binding.artist.text.toString(),
|
||||
binding.artist.text.toString()
|
||||
)
|
||||
true
|
||||
}
|
||||
|
||||
binding.moreInfo.setOnClickListener {
|
||||
controller.router?.pushController(
|
||||
MetadataViewController(
|
||||
controller.manga
|
||||
).withFadeTransaction()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user