From b6da8b67f4178611edc62467edfa514e3811fd0d Mon Sep 17 00:00:00 2001 From: goofyz Date: Thu, 6 Jun 2024 16:51:49 +0800 Subject: [PATCH] refactor: rename `Uri` variable name --- .../java/com/osfans/trime/data/AppPrefs.kt | 8 +++--- .../osfans/trime/data/storage/FolderExport.kt | 4 +-- .../osfans/trime/data/storage/FolderSync.kt | 26 ++++++++++++------- .../com/osfans/trime/ui/main/MainViewModel.kt | 4 +-- .../osfans/trime/ui/main/PrefMainActivity.kt | 4 +-- .../ui/main/settings/ThemePickerDialog.kt | 2 +- .../osfans/trime/ui/setup/SetupFragment.kt | 2 +- .../com/osfans/trime/util/ResourceUtils.kt | 2 ++ 8 files changed, 30 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/com/osfans/trime/data/AppPrefs.kt b/app/src/main/java/com/osfans/trime/data/AppPrefs.kt index 46333c761e..16594d9b11 100644 --- a/app/src/main/java/com/osfans/trime/data/AppPrefs.kt +++ b/app/src/main/java/com/osfans/trime/data/AppPrefs.kt @@ -359,17 +359,17 @@ class AppPrefs( fun getAppUserDir() = getAppPath() + "/user" fun getAppShareDir(): String { - return if (sharedDataDir.isNotEmpty() && sharedDataDir != userDataDir) { + return if (sharedDataDirUri.isNotEmpty() && sharedDataDirUri != userDataDirUri) { getAppPath() + "/share" } else { getAppUserDir() } } - var sharedDataDir: String + var sharedDataDirUri: String get() = prefs.getPref(SHARED_DATA_DIR, "") set(v) = prefs.setPref(SHARED_DATA_DIR, v) - var userDataDir: String + var userDataDirUri: String get() = prefs.getPref(USER_DATA_DIR, "") set(v) = prefs.setPref(USER_DATA_DIR, v) var syncBackgroundEnabled: Boolean @@ -388,7 +388,7 @@ class AppPrefs( get() = prefs.getPref(LAST_BACKGROUND_SYNC, "") set(v) = prefs.setPref(LAST_BACKGROUND_SYNC, v) - fun isUserDataDirChosen() = userDataDir.isNotBlank() && userDataDir.startsWith(URI_PREFIX) + fun isUserDataDirChosen() = userDataDirUri.isNotBlank() && userDataDirUri.startsWith(URI_PREFIX) } class Clipboard(private val prefs: AppPrefs) { diff --git a/app/src/main/java/com/osfans/trime/data/storage/FolderExport.kt b/app/src/main/java/com/osfans/trime/data/storage/FolderExport.kt index 42dbe5ea30..b0513ff63a 100644 --- a/app/src/main/java/com/osfans/trime/data/storage/FolderExport.kt +++ b/app/src/main/java/com/osfans/trime/data/storage/FolderExport.kt @@ -98,7 +98,7 @@ class FolderExport(private val context: Context, private val docUriStr: String) companion object { suspend fun exportModifiedFiles() { val profile = AppPrefs.defaultInstance().profile - val userDirUri = profile.userDataDir + val userDirUri = profile.userDataDirUri val f1 = File(profile.getAppUserDir(), "default.custom.yaml") val f2 = File(profile.getAppUserDir(), "user.yaml") @@ -108,7 +108,7 @@ class FolderExport(private val context: Context, private val docUriStr: String) suspend fun exportSyncDir(): Boolean { val profile = AppPrefs.defaultInstance().profile - val userDirUri = profile.userDataDir + val userDirUri = profile.userDataDirUri val dir = "sync" val dirFile = File(profile.getAppUserDir(), dir) diff --git a/app/src/main/java/com/osfans/trime/data/storage/FolderSync.kt b/app/src/main/java/com/osfans/trime/data/storage/FolderSync.kt index 925d38cf56..294d172bb0 100644 --- a/app/src/main/java/com/osfans/trime/data/storage/FolderSync.kt +++ b/app/src/main/java/com/osfans/trime/data/storage/FolderSync.kt @@ -14,16 +14,22 @@ class FolderSync(private val context: Context, private val docUriStr: String) { fileNames: Array, appSpecificPath: String, ) { - DocumentFile.fromTreeUri(context, docUriStr.toUri())?.runCatching { - fileNames.forEach { name -> - val docFile = this.findFile(name)?.takeIf { it.isFile } - docFile?.let { - val file = File(appSpecificPath, name) - copyToFile(it, file) + runCatching { + DocumentFile.fromTreeUri(context, docUriStr.toUri())?.let { tree -> + fileNames.forEach { name -> + val docFile = tree.findFile(name)?.takeIf { it.isFile } + docFile?.let { + val file = File(appSpecificPath, name) + copyToFile(it, file) + } ?: run { + Timber.w("Files %s not exists", name) + } } + } ?: run { + Timber.w("Tree URI %s not exists", docUriStr) } - }?.onFailure { - Timber.e(it, "Uri Error") + }.onFailure { + Timber.e(it, "CopyFiles Error") } } @@ -108,8 +114,8 @@ class FolderSync(private val context: Context, private val docUriStr: String) { companion object { suspend fun copyDir(context: Context) { - val userDirUri = AppPrefs.defaultInstance().profile.userDataDir - val shareDirUri = AppPrefs.defaultInstance().profile.sharedDataDir + val userDirUri = AppPrefs.defaultInstance().profile.userDataDirUri + val shareDirUri = AppPrefs.defaultInstance().profile.sharedDataDirUri FolderSync(context, userDirUri) .copyAll(AppPrefs.defaultInstance().profile.getAppUserDir()) diff --git a/app/src/main/java/com/osfans/trime/ui/main/MainViewModel.kt b/app/src/main/java/com/osfans/trime/ui/main/MainViewModel.kt index ca35285feb..ea6a1890ab 100644 --- a/app/src/main/java/com/osfans/trime/ui/main/MainViewModel.kt +++ b/app/src/main/java/com/osfans/trime/ui/main/MainViewModel.kt @@ -62,10 +62,10 @@ class MainViewModel : ViewModel() { shareDirUri: String, ): Boolean { return if (!persistedUriList.contains(userDirUri)) { - AppPrefs.defaultInstance().profile.userDataDir = "" + AppPrefs.defaultInstance().profile.userDataDirUri = "" false } else if (shareDirUri.isNotBlank() && !persistedUriList.contains(shareDirUri)) { - AppPrefs.defaultInstance().profile.sharedDataDir = "" + AppPrefs.defaultInstance().profile.sharedDataDirUri = "" false } else { true diff --git a/app/src/main/java/com/osfans/trime/ui/main/PrefMainActivity.kt b/app/src/main/java/com/osfans/trime/ui/main/PrefMainActivity.kt index c9d50d5b10..c45e796f0f 100644 --- a/app/src/main/java/com/osfans/trime/ui/main/PrefMainActivity.kt +++ b/app/src/main/java/com/osfans/trime/ui/main/PrefMainActivity.kt @@ -205,8 +205,8 @@ class PrefMainActivity : AppCompatActivity() { it.uri.toString() } - val userDirUri = AppPrefs.defaultInstance().profile.userDataDir - val shareDirUri = AppPrefs.defaultInstance().profile.sharedDataDir + val userDirUri = AppPrefs.defaultInstance().profile.userDataDirUri + val shareDirUri = AppPrefs.defaultInstance().profile.sharedDataDirUri return if (viewModel.checkAndResetPathPermission(allowedUriList, userDirUri, shareDirUri)) { FolderSync.copyDir(this) diff --git a/app/src/main/java/com/osfans/trime/ui/main/settings/ThemePickerDialog.kt b/app/src/main/java/com/osfans/trime/ui/main/settings/ThemePickerDialog.kt index 9e321bcb24..cbedbb92c0 100644 --- a/app/src/main/java/com/osfans/trime/ui/main/settings/ThemePickerDialog.kt +++ b/app/src/main/java/com/osfans/trime/ui/main/settings/ThemePickerDialog.kt @@ -63,7 +63,7 @@ object ThemePickerDialog { ) { val fileNameWithoutExt = if (selectedName == "trime") selectedName else "$selectedName.trime" - val sync = FolderSync(context, AppPrefs.defaultInstance().profile.userDataDir) + val sync = FolderSync(context, AppPrefs.defaultInstance().profile.userDataDirUri) sync.copyFiles( arrayOf("$fileNameWithoutExt.yaml", "$fileNameWithoutExt.custom.yaml"), AppPrefs.Profile.getAppPath(), diff --git a/app/src/main/java/com/osfans/trime/ui/setup/SetupFragment.kt b/app/src/main/java/com/osfans/trime/ui/setup/SetupFragment.kt index dad2f5ec86..1ce57c048d 100644 --- a/app/src/main/java/com/osfans/trime/ui/setup/SetupFragment.kt +++ b/app/src/main/java/com/osfans/trime/ui/setup/SetupFragment.kt @@ -80,7 +80,7 @@ class SetupFragment : Fragment() { } private fun saveUri(uri: Uri) { - AppPrefs.defaultInstance().profile.userDataDir = uri.toString() + AppPrefs.defaultInstance().profile.userDataDirUri = uri.toString() } private fun openDirectory() { diff --git a/app/src/main/java/com/osfans/trime/util/ResourceUtils.kt b/app/src/main/java/com/osfans/trime/util/ResourceUtils.kt index 40ba4fa8a0..f9ad1f2f0d 100644 --- a/app/src/main/java/com/osfans/trime/util/ResourceUtils.kt +++ b/app/src/main/java/com/osfans/trime/util/ResourceUtils.kt @@ -13,6 +13,7 @@ object ResourceUtils { dest: File, removedPrefix: String = "", ) = runCatching { + Timber.d("CopyFiles %s -> %s", filename, File(dest, filename.removePrefix(removedPrefix)).absolutePath) appContext.assets.open(filename).use { i -> File(dest, filename.removePrefix(removedPrefix)) .also { it.parentFile?.mkdirs() } @@ -34,6 +35,7 @@ object ResourceUtils { acc + copyFiles("$assetPath/$file", File(destFile, formattedDestPath), file).getOrDefault(0L) } } else { + Timber.d("CopyFiles %s -> %s", assetPath, File(destFile, formattedDestPath.split(File.pathSeparator).last()).absolutePath) appContext.assets.open(assetPath).use { i -> File(destFile, formattedDestPath.split(File.pathSeparator).last()) .also { it.parentFile?.mkdirs() }