File tree Expand file tree Collapse file tree 2 files changed +13
-0
lines changed
app/src/main/java/com/osfans/trime/ime Expand file tree Collapse file tree 2 files changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ import com.osfans.trime.ime.bar.ui.SuggestionUi
25
25
import com.osfans.trime.ime.bar.ui.TabUi
26
26
import com.osfans.trime.ime.broadcast.InputBroadcastReceiver
27
27
import com.osfans.trime.ime.candidates.CandidateModule
28
+ import com.osfans.trime.ime.candidates.popup.PopupCandidatesMode
28
29
import com.osfans.trime.ime.candidates.unrolled.window.FlexboxUnrolledCandidateWindow
29
30
import com.osfans.trime.ime.core.TrimeInputMethodService
30
31
import com.osfans.trime.ime.dependency.InputScope
@@ -154,7 +155,12 @@ class QuickBar(
154
155
candidateUi.unrollButton.visibility = if (enabled) View .VISIBLE else View .INVISIBLE
155
156
}
156
157
158
+ private val candidatesMode by AppPrefs .defaultInstance().candidates.mode
159
+
157
160
override fun onInputContextUpdate (ctx : RimeProto .Context ) {
161
+ // TODO: 临时修复状态栏与悬浮窗同时显示,后续需优化:考虑分离数据或寻找更好的实现方式
162
+ if (candidatesMode == PopupCandidatesMode .FORCE_SHOW ) return
163
+
158
164
barStateMachine.push(
159
165
QuickBarStateMachine .TransitionEvent .CandidatesUpdated ,
160
166
QuickBarStateMachine .BooleanKey .CandidateEmpty to ctx.menu.candidates.isEmpty(),
Original file line number Diff line number Diff line change @@ -16,10 +16,12 @@ import android.widget.PopupWindow
16
16
import com.osfans.trime.core.RimeProto
17
17
import com.osfans.trime.daemon.RimeSession
18
18
import com.osfans.trime.daemon.launchOnReady
19
+ import com.osfans.trime.data.prefs.AppPrefs
19
20
import com.osfans.trime.data.theme.ColorManager
20
21
import com.osfans.trime.data.theme.Theme
21
22
import com.osfans.trime.ime.bar.QuickBar
22
23
import com.osfans.trime.ime.broadcast.InputBroadcastReceiver
24
+ import com.osfans.trime.ime.candidates.popup.PopupCandidatesMode
23
25
import com.osfans.trime.ime.dependency.InputScope
24
26
import me.tatarka.inject.annotations.Inject
25
27
import splitties.views.backgroundColor
@@ -67,7 +69,12 @@ class PreeditModule(
67
69
animationStyle = 0
68
70
}
69
71
72
+ private val candidatesMode by AppPrefs .defaultInstance().candidates.mode
73
+
70
74
override fun onInputContextUpdate (ctx : RimeProto .Context ) {
75
+ // TODO: 临时修复状态栏与悬浮窗同时显示,后续需优化:考虑分离数据或寻找更好的实现方式
76
+ if (candidatesMode == PopupCandidatesMode .FORCE_SHOW ) return
77
+
71
78
ui.update(ctx.composition)
72
79
if (ctx.composition.length > 0 ) {
73
80
val (x, y) = intArrayOf(0 , 0 ).also { bar.view.getLocationInWindow(it) }
You can’t perform that action at this time.
0 commit comments