Skip to content

Commit 11a4c9e

Browse files
committed
chore: sync nightmode when theme changes.
1 parent 3688f80 commit 11a4c9e

File tree

6 files changed

+22
-3
lines changed

6 files changed

+22
-3
lines changed

app/src/main/java/com/osfans/trime/data/theme/ColorManager.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,11 +124,15 @@ object ColorManager {
124124

125125
private fun colorScheme(id: String) = presetColorSchemes.find { it.id == id }
126126

127-
fun init(configuration: Configuration) {
128-
isNightMode = configuration.isNightMode()
127+
fun init(isNightMode: Boolean) {
128+
this.isNightMode = isNightMode
129129
activeColorScheme = evaluateActiveColorScheme()
130130
}
131131

132+
fun init(configuration: Configuration) {
133+
init(configuration.isNightMode())
134+
}
135+
132136
fun onSystemNightModeChange(isNight: Boolean) {
133137
freeCaches()
134138
isNightMode = isNight
@@ -145,6 +149,8 @@ object ColorManager {
145149
/** 每次切换主题后,都要调用此函数,初始化配色 */
146150
fun switchTheme(theme: Theme) {
147151
freeCaches()
152+
darkModeColorScheme = null
153+
lightModeColorScheme = null
148154
this.theme = theme
149155
val newScheme = evaluateActiveColorScheme()
150156
activeColorScheme = newScheme

app/src/main/java/com/osfans/trime/data/theme/ThemeManager.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import com.osfans.trime.data.base.DataManager
99
import com.osfans.trime.data.prefs.AppPrefs
1010
import com.osfans.trime.ime.symbol.TabManager
1111
import com.osfans.trime.util.WeakHashSet
12+
import com.osfans.trime.util.isNightMode
1213

1314
object ThemeManager {
1415
fun interface OnThemeChangeListener {
@@ -21,6 +22,8 @@ object ThemeManager {
2122
return sharedThemes + userThemes
2223
}
2324

25+
private var isNightMode: Boolean = false
26+
2427
private lateinit var _activeTheme: Theme
2528

2629
var activeTheme: Theme
@@ -59,12 +62,19 @@ object ThemeManager {
5962
fun init(configuration: Configuration) {
6063
_activeTheme = evaluateActiveTheme()
6164
ColorManager.init(configuration)
65+
isNightMode = configuration.isNightMode()
66+
}
67+
68+
fun onSystemNightModeChange(isNightMode: Boolean) {
69+
this.isNightMode = isNightMode
70+
ColorManager.onSystemNightModeChange(isNightMode)
6271
}
6372

6473
fun selectTheme(theme: Theme) {
6574
KeyActionManager.resetCache()
6675
FontManager.resetCache(theme)
6776
ColorManager.switchTheme(theme)
77+
ColorManager.init(isNightMode)
6878
TabManager.resetCache(theme)
6979
activeTheme = theme
7080
prefs.selectedTheme.setValue(theme.configId)

app/src/main/java/com/osfans/trime/ime/bar/QuickBar.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ class QuickBar(
9393
}
9494
}
9595
}
96+
InputFeedbackManager.keyPressVibrate(view)
9697
}, debounceTime = debounceInterval.toLong())
9798
}
9899
}

app/src/main/java/com/osfans/trime/ime/candidates/compact/CompactCandidateModule.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ class CompactCandidateModule(
7373
}
7474
}
7575
setOnItemLongClickListener { _, view, position ->
76+
InputFeedbackManager.keyPressVibrate(view, true)
7677
showCandidateAction(previous + position, items[position].text, view)
7778
true
7879
}

app/src/main/java/com/osfans/trime/ime/candidates/unrolled/window/BaseUnrolledCandidateWindow.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ abstract class BaseUnrolledCandidateWindow(
115115
}
116116
}
117117
setOnLongClickListener { view ->
118+
InputFeedbackManager.keyPressVibrate(view, true)
118119
compactCandidate.showCandidateAction(holder.idx, holder.text, view)
119120
true
120121
}

app/src/main/java/com/osfans/trime/ime/core/TrimeInputMethodService.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ open class TrimeInputMethodService : LifecycleInputMethodService() {
351351
override fun onConfigurationChanged(newConfig: Configuration) {
352352
super.onConfigurationChanged(newConfig)
353353
postRimeJob { clearComposition() }
354-
ColorManager.onSystemNightModeChange(newConfig.isNightMode())
354+
ThemeManager.onSystemNightModeChange(newConfig.isNightMode())
355355
}
356356

357357
override fun onWindowShown() {

0 commit comments

Comments
 (0)