diff --git a/app/src/main/java/com/hippo/ehviewer/client/EhUrl.kt b/app/src/main/java/com/hippo/ehviewer/client/EhUrl.kt index 1d5e07180..4f816ef05 100644 --- a/app/src/main/java/com/hippo/ehviewer/client/EhUrl.kt +++ b/app/src/main/java/com/hippo/ehviewer/client/EhUrl.kt @@ -49,6 +49,8 @@ object EhUrl { const val ORIGIN_EX = REFERER_EX const val REFERER_E = "https://$DOMAIN_E" const val ORIGIN_E = REFERER_E + const val URL_PREFIX_THUMB_E = "https://ehgt.org/" + const val URL_PREFIX_THUMB_EX = "https://exhentai.org/t/" val host: String get() = when (Settings.getGallerySite()) { @@ -161,4 +163,12 @@ object EhUrl { fun getTagDefinitionUrl(tag: String): String { return "https://ehwiki.org/wiki/" + tag.replace(' ', '_') } + + fun getThumbUrlPrefix(): String { + return when (Settings.getGallerySite()) { + SITE_E -> URL_PREFIX_THUMB_E + SITE_EX -> URL_PREFIX_THUMB_EX + else -> URL_PREFIX_THUMB_E + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/hippo/ehviewer/client/EhUtils.kt b/app/src/main/java/com/hippo/ehviewer/client/EhUtils.kt index d5bfc6394..eed6a2196 100644 --- a/app/src/main/java/com/hippo/ehviewer/client/EhUtils.kt +++ b/app/src/main/java/com/hippo/ehviewer/client/EhUtils.kt @@ -131,6 +131,11 @@ object EhUtils { return title.ifEmpty { null } } + fun fixThumbUrl(url: String): String { + return EhUrl.getThumbUrlPrefix() + + url.removePrefix(EhUrl.URL_PREFIX_THUMB_E).removePrefix(EhUrl.URL_PREFIX_THUMB_EX) + } + @JvmStatic fun handleThumbUrlResolution(url: String?): String? { if (null == url) { diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.kt b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.kt index 55dc9e93f..f3e2c71ec 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.kt @@ -1029,8 +1029,8 @@ class DownloadsScene : BaseToolbarScene(), DownloadInfoListener, OnClickFabListe return } val info = mList!![position] - if (info.thumb != null) { - holder.thumb.load(EhCacheKeyFactory.getThumbKey(info.gid), info.thumb!!) + info.thumb?.let { + holder.thumb.load(EhCacheKeyFactory.getThumbKey(info.gid), EhUtils.fixThumbUrl(it)) } holder.title.text = EhUtils.getSuitableTitle(info) holder.uploader.text = info.uploader diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryAdapter.kt b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryAdapter.kt index 80a37dd47..297246a49 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryAdapter.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryAdapter.kt @@ -32,6 +32,7 @@ import com.hippo.ehviewer.Settings import com.hippo.ehviewer.client.EhCacheKeyFactory import com.hippo.ehviewer.client.EhUtils import com.hippo.ehviewer.client.data.GalleryInfo +import com.hippo.ehviewer.dao.LocalFavoriteInfo import com.hippo.ehviewer.download.DownloadManager import com.hippo.ehviewer.widget.TileThumb import com.hippo.widget.recyclerview.AutoStaggeredGridLayoutManager @@ -169,6 +170,9 @@ internal abstract class GalleryAdapter( @SuppressLint("SetTextI18n") override fun onBindViewHolder(holder: GalleryHolder, position: Int) { val gi = getDataAt(position) ?: return + if (gi is LocalFavoriteInfo) { + gi.thumb = EhUtils.fixThumbUrl(gi.thumb!!) + } when (mType) { TYPE_LIST -> { holder.thumb.load(EhCacheKeyFactory.getThumbKey(gi.gid), gi.thumb!!) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.kt b/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.kt index 5fe4fe6b3..15e9b0c93 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.kt @@ -396,7 +396,9 @@ class HistoryScene : BaseToolbarScene() { override fun onBindViewHolder(holder: HistoryHolder, position: Int) { val gi: GalleryInfo? = getItem(position) gi ?: return - gi.thumb?.let { holder.thumb.load(EhCacheKeyFactory.getThumbKey(gi.gid), it) } + gi.thumb?.let { + holder.thumb.load(EhCacheKeyFactory.getThumbKey(gi.gid), EhUtils.fixThumbUrl(it)) + } holder.title.text = EhUtils.getSuitableTitle(gi) holder.uploader.text = gi.uploader holder.rating.rating = gi.rating