diff --git a/app/src/main/java/com/hippo/ehviewer/client/data/BaseGalleryInfo.kt b/app/src/main/java/com/hippo/ehviewer/client/data/BaseGalleryInfo.kt index 4706acc77..261c2225d 100644 --- a/app/src/main/java/com/hippo/ehviewer/client/data/BaseGalleryInfo.kt +++ b/app/src/main/java/com/hippo/ehviewer/client/data/BaseGalleryInfo.kt @@ -25,7 +25,7 @@ import kotlinx.parcelize.Parcelize @Parcelize @Entity(tableName = "GALLERIES") -open class BaseGalleryInfo( +data class BaseGalleryInfo( @PrimaryKey @ColumnInfo(name = "GID") override var gid: Long = 0, 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 296361819..ec4fb027d 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 @@ -40,7 +40,7 @@ import splitties.init.appCtx private val diffCallback = object : DiffUtil.ItemCallback() { override fun areItemsTheSame(oldItem: BaseGalleryInfo, newItem: BaseGalleryInfo) = oldItem.gid == newItem.gid - override fun areContentsTheSame(oldItem: BaseGalleryInfo, newItem: BaseGalleryInfo) = oldItem.gid == newItem.gid + override fun areContentsTheSame(oldItem: BaseGalleryInfo, newItem: BaseGalleryInfo) = oldItem == newItem } class GalleryAdapter( diff --git a/app/src/main/java/com/hippo/ehviewer/ui/settings/DownloadScreen.kt b/app/src/main/java/com/hippo/ehviewer/ui/settings/DownloadScreen.kt index ee4b39fd0..21fe5d258 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/settings/DownloadScreen.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/settings/DownloadScreen.kt @@ -33,6 +33,7 @@ import com.hippo.ehviewer.Settings import com.hippo.ehviewer.client.EhEngine.fillGalleryListByApi import com.hippo.ehviewer.client.EhUrl import com.hippo.ehviewer.client.data.BaseGalleryInfo +import com.hippo.ehviewer.client.data.GalleryInfo import com.hippo.ehviewer.download.DownloadManager import com.hippo.ehviewer.download.downloadLocation import com.hippo.ehviewer.spider.SpiderQueen @@ -197,7 +198,7 @@ fun DownloadScreen() { } else { val count = result.filterNot { it.title.isNullOrBlank() }.map { EhDB.putDownloadDirname(it.gid, it.dirname) - DownloadManager.restoreDownload(it, it.dirname) + DownloadManager.restoreDownload(it.galleryInfo, it.dirname) }.size launchSnackBar(RESTORE_COUNT_MSG(count + restoreDirCount)) } @@ -234,7 +235,7 @@ fun DownloadScreen() { } } -private class RestoreItem(val dirname: String) : BaseGalleryInfo() +private class RestoreItem(val dirname: String, val galleryInfo: BaseGalleryInfo = BaseGalleryInfo()) : GalleryInfo by galleryInfo private val RESTORE_NOT_FOUND = appCtx.getString(R.string.settings_download_restore_not_found) private val RESTORE_COUNT_MSG = { cnt: Int -> if (cnt == 0) RESTORE_NOT_FOUND else appCtx.getString(R.string.settings_download_restore_successfully, cnt) } private val NO_REDUNDANCY = appCtx.getString(R.string.settings_download_clean_redundancy_no_redundancy)