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:
parent
6f34c5e894
commit
83130f9bf9
4 changed files with 14 additions and 3 deletions
|
@ -42,6 +42,7 @@ import kotlinx.collections.immutable.persistentListOf
|
||||||
import kotlinx.collections.immutable.persistentMapOf
|
import kotlinx.collections.immutable.persistentMapOf
|
||||||
import logcat.LogPriority
|
import logcat.LogPriority
|
||||||
import tachiyomi.core.i18n.stringResource
|
import tachiyomi.core.i18n.stringResource
|
||||||
|
import tachiyomi.core.storage.displayablePath
|
||||||
import tachiyomi.core.util.lang.launchNonCancellable
|
import tachiyomi.core.util.lang.launchNonCancellable
|
||||||
import tachiyomi.core.util.lang.withUIContext
|
import tachiyomi.core.util.lang.withUIContext
|
||||||
import tachiyomi.core.util.system.logcat
|
import tachiyomi.core.util.system.logcat
|
||||||
|
@ -111,7 +112,7 @@ object SettingsDataScreen : SearchableSettings {
|
||||||
|
|
||||||
return remember(storageDir) {
|
return remember(storageDir) {
|
||||||
val file = UniFile.fromUri(context, storageDir.toUri())
|
val file = UniFile.fromUri(context, storageDir.toUri())
|
||||||
file?.filePath ?: file?.uri?.toString()
|
file?.displayablePath
|
||||||
} ?: stringResource(MR.strings.invalid_location, storageDir)
|
} ?: stringResource(MR.strings.invalid_location, storageDir)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,7 @@ import eu.kanade.tachiyomi.util.system.notificationBuilder
|
||||||
import eu.kanade.tachiyomi.util.system.notify
|
import eu.kanade.tachiyomi.util.system.notify
|
||||||
import tachiyomi.core.i18n.pluralStringResource
|
import tachiyomi.core.i18n.pluralStringResource
|
||||||
import tachiyomi.core.i18n.stringResource
|
import tachiyomi.core.i18n.stringResource
|
||||||
|
import tachiyomi.core.storage.displayablePath
|
||||||
import tachiyomi.i18n.MR
|
import tachiyomi.i18n.MR
|
||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
@ -73,7 +74,7 @@ class BackupNotifier(private val context: Context) {
|
||||||
|
|
||||||
with(completeNotificationBuilder) {
|
with(completeNotificationBuilder) {
|
||||||
setContentTitle(context.stringResource(MR.strings.backup_created))
|
setContentTitle(context.stringResource(MR.strings.backup_created))
|
||||||
setContentText(file.filePath ?: file.name)
|
setContentText(file.displayablePath)
|
||||||
|
|
||||||
clearActions()
|
clearActions()
|
||||||
addAction(
|
addAction(
|
||||||
|
|
|
@ -6,6 +6,7 @@ import eu.kanade.tachiyomi.source.Source
|
||||||
import eu.kanade.tachiyomi.util.storage.DiskUtil
|
import eu.kanade.tachiyomi.util.storage.DiskUtil
|
||||||
import logcat.LogPriority
|
import logcat.LogPriority
|
||||||
import tachiyomi.core.i18n.stringResource
|
import tachiyomi.core.i18n.stringResource
|
||||||
|
import tachiyomi.core.storage.displayablePath
|
||||||
import tachiyomi.core.util.system.logcat
|
import tachiyomi.core.util.system.logcat
|
||||||
import tachiyomi.domain.chapter.model.Chapter
|
import tachiyomi.domain.chapter.model.Chapter
|
||||||
import tachiyomi.domain.manga.model.Manga
|
import tachiyomi.domain.manga.model.Manga
|
||||||
|
@ -41,7 +42,12 @@ class DownloadProvider(
|
||||||
.createDirectory(getMangaDirName(mangaTitle))!!
|
.createDirectory(getMangaDirName(mangaTitle))!!
|
||||||
} catch (e: Throwable) {
|
} catch (e: Throwable) {
|
||||||
logcat(LogPriority.ERROR, e) { "Invalid download directory" }
|
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 ?: "",
|
||||||
|
),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,9 @@ val UniFile.extension: String?
|
||||||
val UniFile.nameWithoutExtension: String?
|
val UniFile.nameWithoutExtension: String?
|
||||||
get() = name?.substringBeforeLast('.')
|
get() = name?.substringBeforeLast('.')
|
||||||
|
|
||||||
|
val UniFile.displayablePath: String
|
||||||
|
get() = filePath ?: uri.toString()
|
||||||
|
|
||||||
fun UniFile.toTempFile(context: Context): File {
|
fun UniFile.toTempFile(context: Context): File {
|
||||||
val inputStream = context.contentResolver.openInputStream(uri)!!
|
val inputStream = context.contentResolver.openInputStream(uri)!!
|
||||||
val tempFile = File.createTempFile(
|
val tempFile = File.createTempFile(
|
||||||
|
|
Reference in a new issue