diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 35eb1ddf..56883e31 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -2,5 +2,6 @@ <project version="4"> <component name="VcsDirectoryMappings"> <mapping directory="" vcs="Git" /> + <mapping directory="$PROJECT_DIR$/gh-pages" vcs="Git" /> </component> </project> \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 9313ded0..864ea64b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -21,7 +21,7 @@ android { minSdkVersion 16 targetSdkVersion 30 versionCode 58 - versionName "5.0-hotfix1" + versionName "5.0-hotfix2" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true } diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json index f18261ab..b79b3840 100644 --- a/app/release/output-metadata.json +++ b/app/release/output-metadata.json @@ -12,7 +12,7 @@ "filters": [], "properties": [], "versionCode": 58, - "versionName": "5.0-hotfix1", + "versionName": "5.0-hotfix2", "enabled": true, "outputFile": "app-release.apk" } diff --git a/app/src/main/java/xyz/quaver/pupil/Pupil.kt b/app/src/main/java/xyz/quaver/pupil/Pupil.kt index c953fede..32517aa6 100644 --- a/app/src/main/java/xyz/quaver/pupil/Pupil.kt +++ b/app/src/main/java/xyz/quaver/pupil/Pupil.kt @@ -108,13 +108,13 @@ class Pupil : Application() { if (!FileX(this, it).canWrite()) throw Exception() + + DownloadManager.getInstance(this).migrate() } } catch (e: Exception) { Preferences.remove("download_folder") } - DownloadManager.getInstance(this).migrate() - histories = SavedSet(File(ContextCompat.getDataDir(this), "histories.json"), 0) favorites = SavedSet(File(ContextCompat.getDataDir(this), "favorites.json"), 0) favoriteTags = SavedSet(File(ContextCompat.getDataDir(this), "favorites_tags.json"), Tag.parse("")) diff --git a/app/src/main/java/xyz/quaver/pupil/services/DownloadService.kt b/app/src/main/java/xyz/quaver/pupil/services/DownloadService.kt index 04ecf9f1..8123dcaa 100644 --- a/app/src/main/java/xyz/quaver/pupil/services/DownloadService.kt +++ b/app/src/main/java/xyz/quaver/pupil/services/DownloadService.kt @@ -381,6 +381,8 @@ class DownloadService : Service() { } override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { + startForeground(R.id.downloader_notification_id, serviceNotification.build()) + when (intent?.getStringExtra(KEY_COMMAND)) { COMMAND_DOWNLOAD -> intent.getIntExtra(KEY_ID, -1).let { if (it > 0) download(it, intent.getBooleanExtra(KEY_PRIORITY, false), startId) diff --git a/app/src/main/java/xyz/quaver/pupil/ui/dialog/DownloadLocationDialogFragment.kt b/app/src/main/java/xyz/quaver/pupil/ui/dialog/DownloadLocationDialogFragment.kt index 90dc56b5..c235eac3 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/dialog/DownloadLocationDialogFragment.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/dialog/DownloadLocationDialogFragment.kt @@ -123,7 +123,7 @@ class DownloadLocationDialogFragment : DialogFragment() { .setView(build()) .setPositiveButton(requireContext().getText(android.R.string.ok)) { _, _ -> if (Preferences["download_folder", ""].isEmpty()) - Preferences["download_folder"] = context?.getExternalFilesDir(null)?.canonicalPath ?: "" + Preferences["download_folder"] = context?.getExternalFilesDir(null)?.toUri()?.toString() ?: "" DownloadManager.getInstance(requireContext()).migrate() } diff --git a/app/src/main/java/xyz/quaver/pupil/util/downloader/DownloadManager.kt b/app/src/main/java/xyz/quaver/pupil/util/downloader/DownloadManager.kt index 20997615..2d8e6c76 100644 --- a/app/src/main/java/xyz/quaver/pupil/util/downloader/DownloadManager.kt +++ b/app/src/main/java/xyz/quaver/pupil/util/downloader/DownloadManager.kt @@ -75,7 +75,6 @@ class DownloadManager private constructor(context: Context) : ContextWrapper(con data ?: { file.createNewFile() - file.writeText("{}") mutableMapOf<Int, String>() }.invoke() }.invoke() @@ -99,9 +98,6 @@ class DownloadManager private constructor(context: Context) : ContextWrapper(con @Synchronized fun addDownloadFolder(galleryID: Int) { - if (downloadFolderMap.containsKey(galleryID)) - return - val name = runBlocking { Cache.getInstance(this@DownloadManager, galleryID).getGalleryBlock() }?.formatDownloadFolder() ?: return @@ -119,9 +115,6 @@ class DownloadManager private constructor(context: Context) : ContextWrapper(con @Synchronized fun deleteDownloadFolder(galleryID: Int) { - if (!downloadFolderMap.containsKey(galleryID)) - return - downloadFolderMap[galleryID]?.let { kotlin.runCatching { downloadFolder.getChild(it).deleteRecursively() diff --git a/app/src/main/java/xyz/quaver/pupil/util/misc.kt b/app/src/main/java/xyz/quaver/pupil/util/misc.kt index 4fbfe412..9f9a6613 100644 --- a/app/src/main/java/xyz/quaver/pupil/util/misc.kt +++ b/app/src/main/java/xyz/quaver/pupil/util/misc.kt @@ -93,14 +93,14 @@ fun GalleryBlock.formatDownloadFolder(): String = formatMap.entries.fold(it) { str, (k, v) -> str.replace(k, v.invoke(this), true) } - } + }.replace("/", "") fun GalleryBlock.formatDownloadFolderTest(format: String): String = format.let { formatMap.entries.fold(it) { str, (k, v) -> str.replace(k, v.invoke(this), true) } - } + }.replace("/", "") val Reader.requestBuilders: List<Request.Builder> get() {