diff --git a/app/src/main/java/ani/dantotsu/download/anime/AnimeDownloaderService.kt b/app/src/main/java/ani/dantotsu/download/anime/AnimeDownloaderService.kt index c9128518..22b20dcb 100644 --- a/app/src/main/java/ani/dantotsu/download/anime/AnimeDownloaderService.kt +++ b/app/src/main/java/ani/dantotsu/download/anime/AnimeDownloaderService.kt @@ -54,6 +54,7 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.withContext +import tachiyomi.core.util.lang.launchIO import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import java.io.File @@ -356,7 +357,7 @@ class AnimeDownloaderService : Service() { } private fun saveMediaInfo(task: AnimeDownloadTask) { - CoroutineScope(Dispatchers.IO).launch { + launchIO { val directory = File( getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), "${DownloadsManager.animeLocation}/${task.title}" diff --git a/app/src/main/java/ani/dantotsu/download/manga/MangaDownloaderService.kt b/app/src/main/java/ani/dantotsu/download/manga/MangaDownloaderService.kt index cad2f85e..188c9dc3 100644 --- a/app/src/main/java/ani/dantotsu/download/manga/MangaDownloaderService.kt +++ b/app/src/main/java/ani/dantotsu/download/manga/MangaDownloaderService.kt @@ -37,6 +37,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SChapterImpl import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Deferred +import kotlinx.coroutines.DelicateCoroutinesApi import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.Job @@ -47,6 +48,7 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.withContext +import tachiyomi.core.util.lang.launchIO import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import java.io.File @@ -287,8 +289,9 @@ class MangaDownloaderService : Service() { } } + @OptIn(DelicateCoroutinesApi::class) private fun saveMediaInfo(task: DownloadTask) { - GlobalScope.launch(Dispatchers.IO) { + launchIO { val directory = File( getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), "Dantotsu/Manga/${task.title}" diff --git a/app/src/main/java/ani/dantotsu/download/novel/NovelDownloaderService.kt b/app/src/main/java/ani/dantotsu/download/novel/NovelDownloaderService.kt index 06043976..0c3575a3 100644 --- a/app/src/main/java/ani/dantotsu/download/novel/NovelDownloaderService.kt +++ b/app/src/main/java/ani/dantotsu/download/novel/NovelDownloaderService.kt @@ -31,6 +31,7 @@ import eu.kanade.tachiyomi.network.NetworkHelper import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SChapterImpl import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.DelicateCoroutinesApi import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.Job @@ -42,6 +43,7 @@ import kotlinx.coroutines.withContext import okhttp3.Request import okio.buffer import okio.sink +import tachiyomi.core.util.lang.launchIO import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import java.io.File @@ -347,8 +349,9 @@ class NovelDownloaderService : Service() { } } + @OptIn(DelicateCoroutinesApi::class) private fun saveMediaInfo(task: DownloadTask) { - GlobalScope.launch(Dispatchers.IO) { + launchIO { val directory = File( getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), "Dantotsu/Novel/${task.title}" diff --git a/app/src/main/java/ani/dantotsu/util/Logger.kt b/app/src/main/java/ani/dantotsu/util/Logger.kt index a6780748..22c0000c 100644 --- a/app/src/main/java/ani/dantotsu/util/Logger.kt +++ b/app/src/main/java/ani/dantotsu/util/Logger.kt @@ -2,6 +2,7 @@ package ani.dantotsu.util import android.content.Context import android.content.Intent +import android.os.Build import android.util.Log import androidx.core.content.FileProvider import ani.dantotsu.BuildConfig @@ -31,8 +32,8 @@ object Logger { } file?.writeText("log started\n") file?.appendText("date/time: ${Date()}\n") - file?.appendText("device: ${android.os.Build.MODEL}\n") - file?.appendText("os version: ${android.os.Build.VERSION.RELEASE}\n") + file?.appendText("device: ${Build.MODEL}\n") + file?.appendText("os version: ${Build.VERSION.RELEASE}\n") file?.appendText( "app version: ${ context.packageManager.getPackageInfo( @@ -46,29 +47,35 @@ object Logger { context.packageManager.getPackageInfo( context.packageName, 0 - ).versionCode + ).run { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) + longVersionCode + else + @Suppress("DEPRECATION") versionCode + + } }\n" ) - file?.appendText("sdk version: ${android.os.Build.VERSION.SDK_INT}\n") - file?.appendText("manufacturer: ${android.os.Build.MANUFACTURER}\n") - file?.appendText("brand: ${android.os.Build.BRAND}\n") - file?.appendText("product: ${android.os.Build.PRODUCT}\n") - file?.appendText("device: ${android.os.Build.DEVICE}\n") - file?.appendText("hardware: ${android.os.Build.HARDWARE}\n") - file?.appendText("host: ${android.os.Build.HOST}\n") - file?.appendText("id: ${android.os.Build.ID}\n") - file?.appendText("type: ${android.os.Build.TYPE}\n") - file?.appendText("user: ${android.os.Build.USER}\n") - file?.appendText("tags: ${android.os.Build.TAGS}\n") - file?.appendText("time: ${android.os.Build.TIME}\n") - file?.appendText("radio: ${android.os.Build.RADIO}\n") - file?.appendText("bootloader: ${android.os.Build.BOOTLOADER}\n") - file?.appendText("board: ${android.os.Build.BOARD}\n") - file?.appendText("fingerprint: ${android.os.Build.FINGERPRINT}\n") - file?.appendText("supported_abis: ${android.os.Build.SUPPORTED_ABIS.joinToString()}\n") - file?.appendText("supported_32_bit_abis: ${android.os.Build.SUPPORTED_32_BIT_ABIS.joinToString()}\n") - file?.appendText("supported_64_bit_abis: ${android.os.Build.SUPPORTED_64_BIT_ABIS.joinToString()}\n") - file?.appendText("is emulator: ${android.os.Build.FINGERPRINT.contains("generic")}\n") + file?.appendText("sdk version: ${Build.VERSION.SDK_INT}\n") + file?.appendText("manufacturer: ${Build.MANUFACTURER}\n") + file?.appendText("brand: ${Build.BRAND}\n") + file?.appendText("product: ${Build.PRODUCT}\n") + file?.appendText("device: ${Build.DEVICE}\n") + file?.appendText("hardware: ${Build.HARDWARE}\n") + file?.appendText("host: ${Build.HOST}\n") + file?.appendText("id: ${Build.ID}\n") + file?.appendText("type: ${Build.TYPE}\n") + file?.appendText("user: ${Build.USER}\n") + file?.appendText("tags: ${Build.TAGS}\n") + file?.appendText("time: ${Build.TIME}\n") + file?.appendText("radio: ${Build.getRadioVersion()}\n") + file?.appendText("bootloader: ${Build.BOOTLOADER}\n") + file?.appendText("board: ${Build.BOARD}\n") + file?.appendText("fingerprint: ${Build.FINGERPRINT}\n") + file?.appendText("supported_abis: ${Build.SUPPORTED_ABIS.joinToString()}\n") + file?.appendText("supported_32_bit_abis: ${Build.SUPPORTED_32_BIT_ABIS.joinToString()}\n") + file?.appendText("supported_64_bit_abis: ${Build.SUPPORTED_64_BIT_ABIS.joinToString()}\n") + file?.appendText("is emulator: ${Build.FINGERPRINT.contains("generic")}\n") file?.appendText("--------------------------------\n") } catch (e: Exception) { Injekt.get().logException(e)