Generate ComicInfo.xml on archive download

This commit is contained in:
FooIbar committed 2024-02-11 21:01:16 +08:00
1 parent c5c0c6c4bd
commit 7ef70aa16e
6 files changed
+21

No files matched your search

@@ -149,6 +149,7 @@ object Settings : DataStorePreferences(null) {
var harmonizeCategoryColor by boolPref("harmonize_category_color", true)
var preloadThumbAggressively by boolPref("preload_thumb_aggressively", false)
var downloadOriginImage by boolPref("download_origin_image", false)
var archiveMetadata by boolPref("archive_metadata", true)
var enableCronet by boolPref("enable_cronet", true)
var recentFavCat by intPref("recent_fav_cat", FavListUrlBuilder.FAV_CAT_LOCAL)
var defaultFavSlot by intPref("default_favorite_slot", -2)
@@ -260,6 +260,11 @@ class SpiderDen(val info: GalleryInfo) {
downloadDir = getGalleryDownloadDir(gid)?.takeIf { it.isDirectory }
}
suspend fun initDownloadDir() {
downloadDir = getGalleryDownloadDir(gid) ?: (downloadLocation / info.putToDownloadDir())
check(downloadDir!!.ensureDir())
}
suspend fun writeComicInfo(fetchMetadata: Boolean = true) {
downloadDir?.run {
createFile(COMIC_INFO_FILE)?.also {
@@ -366,6 +366,12 @@ fun GalleryDetailScreen(args: GalleryDetailScreenArgs, navigator: DestinationsNa
r.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED)
downloadManager.enqueue(r)
}
if (Settings.archiveMetadata) {
SpiderDen(galleryDetail).apply {
initDownloadDir()
writeComicInfo()
}
}
}
activity.showTip(R.string.download_archive_started)
}
@@ -145,6 +145,11 @@ fun DownloadScreen(navigator: DestinationsNavigator) {
summary = stringResource(id = R.string.settings_download_download_origin_image_summary),
value = Settings::downloadOriginImage,
)
SwitchPreference(
title = stringResource(id = R.string.settings_download_archive_metadata),
summary = stringResource(id = R.string.settings_download_archive_metadata_summary),
value = Settings::archiveMetadata,
)
WorkPreference(
title = stringResource(id = R.string.settings_download_restore_download_items),
summary = stringResource(id = R.string.settings_download_restore_download_items_summary),
@@ -332,6 +332,8 @@
<string name="settings_download_preload_image_summary">向后预载 %s 张图片</string>
<string name="settings_download_download_origin_image">下载原图</string>
<string name="settings_download_download_origin_image_summary">警告!可能需要 GP</string>
<string name="settings_download_archive_metadata">压缩包元数据</string>
<string name="settings_download_archive_metadata_summary">下载压缩包时生成 ComicInfo.xml</string>
<string name="settings_download_media_scan">允许媒体扫描</string>
<string name="settings_download_media_scan_summary_on">请避免他人翻看你的图库应用</string>
<string name="settings_download_media_scan_summary_off">大多数图库应用将不会显示下载目录中的图片</string>
+2
View File
@@ -379,6 +379,8 @@
<string name="settings_download_preload_image_summary">Preload next %s image</string>
<string name="settings_download_download_origin_image">Download original image</string>
<string name="settings_download_download_origin_image_summary">Caution! May require GP</string>
<string name="settings_download_archive_metadata">Archive metadata</string>
<string name="settings_download_archive_metadata_summary">Generate ComicInfo.xml on archive download</string>
<string name="settings_download_restore_download_items">Restore download items</string>
<string name="settings_download_restore_download_items_summary">Restore all download items in download location</string>
<string name="settings_download_restore_not_found">Not found download items to restore</string>