Fix path to Preference file if it contains a invalid path character (#750)

* Fix path to shared preference files if it contains a invalid character

* Lint
This commit is contained in:
Mitchell Syer
2023-11-04 18:10:58 -04:00
committed by GitHub
parent 8a4c717d24
commit 16dbad8bdf
3 changed files with 9 additions and 3 deletions

View File

@@ -19,6 +19,7 @@ import kotlinx.serialization.SerializationException
import kotlinx.serialization.builtins.SetSerializer
import kotlinx.serialization.builtins.serializer
import mu.KotlinLogging
import xyz.nulldev.androidcompat.util.SafePath
import xyz.nulldev.ts.config.ApplicationRootDir
import java.util.Properties
import kotlin.io.path.Path
@@ -34,7 +35,12 @@ class JavaSharedPreferences(key: String) : SharedPreferences {
private val logger = KotlinLogging.logger {}
}
private val file = Path(ApplicationRootDir, "settings", "$key.xml")
private val file =
Path(
ApplicationRootDir,
"settings",
"${SafePath.buildValidFilename(key)}.xml",
)
private val properties =
Properties().also { properties ->
try {

View File

@@ -1,4 +1,4 @@
package suwayomi.tachidesk.manga.impl.util.storage
package xyz.nulldev.androidcompat.util
/*
* Copyright (C) Contributors to the Suwayomi project

View File

@@ -14,10 +14,10 @@ import org.kodein.di.DI
import org.kodein.di.conf.global
import org.kodein.di.instance
import suwayomi.tachidesk.manga.impl.util.source.GetCatalogueSource
import suwayomi.tachidesk.manga.impl.util.storage.SafePath
import suwayomi.tachidesk.manga.model.table.ChapterTable
import suwayomi.tachidesk.manga.model.table.MangaTable
import suwayomi.tachidesk.server.ApplicationDirs
import xyz.nulldev.androidcompat.util.SafePath
import java.io.File
private val applicationDirs by DI.global.instance<ApplicationDirs>()