Skip to content

Commit 0f86f10

Browse files
committed
fix(data): don't use librime's API to get the user data dir
The API method will return empty string when the whole librime backend don't startup yet, which leads to failure of deploying or staring up. So let's use the sharedpreference value set by app.
1 parent 2994bfe commit 0f86f10

File tree

4 files changed

+10
-8
lines changed

4 files changed

+10
-8
lines changed

app/src/main/java/com/osfans/trime/data/DataManager.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package com.osfans.trime.data
22

33
import com.blankj.utilcode.util.PathUtils
44
import com.blankj.utilcode.util.ResourceUtils
5-
import com.osfans.trime.core.Rime
65
import com.osfans.trime.util.Const
76
import timber.log.Timber
87
import java.io.File
@@ -11,10 +10,13 @@ object DataManager {
1110
private val prefs get() = AppPrefs.defaultInstance()
1211

1312
val defaultDataDirectory = File(PathUtils.getExternalStoragePath(), "rime")
13+
@JvmStatic
1414
val sharedDataDir = File(prefs.profile.sharedDataDir)
15+
@JvmStatic
1516
val userDataDir = File(prefs.profile.userDataDir)
1617
val customDefault = File(sharedDataDir, "default.custom.yaml")
17-
val buildDir = File(Rime.getRimeUserDataDir(), "build")
18+
@JvmStatic
19+
val buildDir = File(userDataDir, "build")
1820

1921
sealed class Diff {
2022
object New : Diff()

app/src/main/java/com/osfans/trime/data/opencc/OpenCCDictManager.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.osfans.trime.data.opencc
22

3-
import com.osfans.trime.core.Rime
43
import com.osfans.trime.data.DataManager
54
import com.osfans.trime.data.opencc.dict.Dictionary
65
import com.osfans.trime.data.opencc.dict.OpenCCDictionary
@@ -77,10 +76,10 @@ object OpenCCDictManager {
7776
@JvmStatic
7877
fun convertLine(input: String, configFileName: String): String {
7978
if (configFileName.isEmpty()) return input
80-
with(File(Rime.getRimeUserDataDir(), "opencc/$configFileName")) {
79+
with(File(userDir, configFileName)) {
8180
if (exists()) return openCCLineConv(input, path)
8281
}
83-
with(File(Rime.getRimeSharedDataDir(), "opencc/$configFileName")) {
82+
with(File(sharedDir, configFileName)) {
8483
if (exists()) return openCCLineConv(input, path)
8584
}
8685
Timber.w("Specified config $configFileName doesn't exist, returning raw input ...")

app/src/main/java/com/osfans/trime/data/schema/SchemaManager.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import com.charleskorn.kaml.YamlConfiguration
55
import com.osfans.trime.core.CandidateListItem
66
import com.osfans.trime.core.Rime
77
import com.osfans.trime.data.AppPrefs
8+
import com.osfans.trime.data.DataManager
89
import java.io.File
910

1011
object SchemaManager {
@@ -21,7 +22,7 @@ object SchemaManager {
2122

2223
@JvmStatic
2324
fun init(schemaId: String) {
24-
val raw = File(Rime.getRimeUserDataDir(), "build/$schemaId.schema.yaml")
25+
val raw = File(DataManager.buildDir, "$schemaId.schema.yaml")
2526
.inputStream()
2627
.bufferedReader()
2728
.readText()

app/src/main/java/com/osfans/trime/data/theme/Config.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -459,11 +459,11 @@ private String joinToFullImagePath(String value) {
459459
File imgSrc;
460460
if ((imgSrc =
461461
new File(
462-
Rime.getRimeUserDataDir(),
462+
DataManager.getUserDataDir(),
463463
"backgrounds/" + style.getString("background_folder") + value))
464464
.exists()) {
465465
return imgSrc.getPath();
466-
} else if ((imgSrc = new File(Rime.getRimeUserDataDir(), "backgrounds/" + value)).exists()) {
466+
} else if ((imgSrc = new File(DataManager.getUserDataDir(), "backgrounds/" + value)).exists()) {
467467
return imgSrc.getPath();
468468
}
469469
return "";

0 commit comments

Comments
 (0)