Try to show actual path in invalid location downloader notification

Instead of the class/hashCode, which doesn't mean much to a user.
This commit is contained in:
arkon 2023-12-31 23:33:10 -05:00
parent 6f34c5e894
commit 83130f9bf9
4 changed files with 14 additions and 3 deletions

View file

@ -42,6 +42,7 @@ import kotlinx.collections.immutable.persistentListOf
import kotlinx.collections.immutable.persistentMapOf
import logcat.LogPriority
import tachiyomi.core.i18n.stringResource
import tachiyomi.core.storage.displayablePath
import tachiyomi.core.util.lang.launchNonCancellable
import tachiyomi.core.util.lang.withUIContext
import tachiyomi.core.util.system.logcat
@ -111,7 +112,7 @@ object SettingsDataScreen : SearchableSettings {
return remember(storageDir) {
val file = UniFile.fromUri(context, storageDir.toUri())
file?.filePath ?: file?.uri?.toString()
file?.displayablePath
} ?: stringResource(MR.strings.invalid_location, storageDir)
}

View file

@ -14,6 +14,7 @@ import eu.kanade.tachiyomi.util.system.notificationBuilder
import eu.kanade.tachiyomi.util.system.notify
import tachiyomi.core.i18n.pluralStringResource
import tachiyomi.core.i18n.stringResource
import tachiyomi.core.storage.displayablePath
import tachiyomi.i18n.MR
import uy.kohesive.injekt.injectLazy
import java.io.File
@ -73,7 +74,7 @@ class BackupNotifier(private val context: Context) {
with(completeNotificationBuilder) {
setContentTitle(context.stringResource(MR.strings.backup_created))
setContentText(file.filePath ?: file.name)
setContentText(file.displayablePath)
clearActions()
addAction(

View file

@ -6,6 +6,7 @@ import eu.kanade.tachiyomi.source.Source
import eu.kanade.tachiyomi.util.storage.DiskUtil
import logcat.LogPriority
import tachiyomi.core.i18n.stringResource
import tachiyomi.core.storage.displayablePath
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.chapter.model.Chapter
import tachiyomi.domain.manga.model.Manga
@ -41,7 +42,12 @@ class DownloadProvider(
.createDirectory(getMangaDirName(mangaTitle))!!
} catch (e: Throwable) {
logcat(LogPriority.ERROR, e) { "Invalid download directory" }
throw Exception(context.stringResource(MR.strings.invalid_location, downloadsDir ?: ""))
throw Exception(
context.stringResource(
MR.strings.invalid_location,
downloadsDir?.displayablePath ?: "",
),
)
}
}

View file

@ -13,6 +13,9 @@ val UniFile.extension: String?
val UniFile.nameWithoutExtension: String?
get() = name?.substringBeforeLast('.')
val UniFile.displayablePath: String
get() = filePath ?: uri.toString()
fun UniFile.toTempFile(context: Context): File {
val inputStream = context.contentResolver.openInputStream(uri)!!
val tempFile = File.createTempFile(