Skip to content

Commit 5f9947a

Browse files
fix: no vibrate effect for candidates
1 parent e738158 commit 5f9947a

File tree

4 files changed

+19
-7
lines changed

4 files changed

+19
-7
lines changed

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

+5-2
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import com.osfans.trime.ime.candidates.popup.PopupCandidatesMode
2929
import com.osfans.trime.ime.candidates.unrolled.window.FlexboxUnrolledCandidateWindow
3030
import com.osfans.trime.ime.core.TrimeInputMethodService
3131
import com.osfans.trime.ime.dependency.InputScope
32+
import com.osfans.trime.ime.keyboard.InputFeedbackManager
3233
import com.osfans.trime.ime.keyboard.KeyboardWindow
3334
import com.osfans.trime.ime.window.BoardWindow
3435
import com.osfans.trime.ime.window.BoardWindowManager
@@ -139,7 +140,8 @@ class QuickBar(
139140
}
140141

141142
private fun setUnrollButtonToAttach() {
142-
candidateUi.unrollButton.setOnClickListener {
143+
candidateUi.unrollButton.setOnClickListener { view ->
144+
InputFeedbackManager.keyPressVibrate(view)
143145
windowManager.attachWindow(
144146
FlexboxUnrolledCandidateWindow(context, service, rime, theme, this, windowManager, candidate.compactCandidateModule),
145147
)
@@ -148,7 +150,8 @@ class QuickBar(
148150
}
149151

150152
private fun setUnrollButtonToDetach() {
151-
candidateUi.unrollButton.setOnClickListener {
153+
candidateUi.unrollButton.setOnClickListener { view ->
154+
InputFeedbackManager.keyPressVibrate(view)
152155
windowManager.attachWindow(KeyboardWindow)
153156
}
154157
candidateUi.unrollButton.setIcon(R.drawable.ic_baseline_expand_less_24)

app/src/main/java/com/osfans/trime/ime/bar/ui/always/switches/SwitchesUi.kt

+3-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import android.view.ViewGroup
99
import com.chad.library.adapter4.util.setOnDebouncedItemClick
1010
import com.osfans.trime.data.schema.Schema
1111
import com.osfans.trime.data.theme.Theme
12+
import com.osfans.trime.ime.keyboard.InputFeedbackManager
1213
import com.osfans.trime.ime.symbol.SpacesItemDecoration
1314
import splitties.dimensions.dp
1415
import splitties.views.dsl.core.Ui
@@ -42,7 +43,8 @@ class SwitchesUi(
4243
listener: (Schema.Switch) -> Unit,
4344
debounceTime: Long = 300L,
4445
) {
45-
switchesAdapter.setOnDebouncedItemClick(debounceTime) { adapter, _, position ->
46+
switchesAdapter.setOnDebouncedItemClick(debounceTime) { adapter, view, position ->
47+
InputFeedbackManager.keyPressVibrate(view)
4648
(adapter as? SwitchesAdapter)?.items?.getOrNull(position)?.let(listener)
4749
}
4850
}

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

+5-2
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,11 @@ class CompactCandidateModule(
6767

6868
val adapter by lazy {
6969
CompactCandidateViewAdapter(theme).apply {
70-
setOnItemClickListener { _, _, position ->
71-
rime.launchOnReady { it.selectCandidate(previous + position) }
70+
setOnItemClickListener { _, view, position ->
71+
rime.launchOnReady {
72+
InputFeedbackManager.keyPressVibrate(view)
73+
it.selectCandidate(previous + position)
74+
}
7275
}
7376
setOnItemLongClickListener { _, view, position ->
7477
showCandidateAction(previous + position, items[position].text, view)

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

+6-2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import com.osfans.trime.ime.candidates.unrolled.CandidatesPagingSource
2727
import com.osfans.trime.ime.candidates.unrolled.PagingCandidateViewAdapter
2828
import com.osfans.trime.ime.candidates.unrolled.UnrolledCandidateLayout
2929
import com.osfans.trime.ime.core.TrimeInputMethodService
30+
import com.osfans.trime.ime.keyboard.InputFeedbackManager
3031
import com.osfans.trime.ime.keyboard.KeyboardWindow
3132
import com.osfans.trime.ime.window.BoardWindow
3233
import com.osfans.trime.ime.window.BoardWindowManager
@@ -107,8 +108,11 @@ abstract class BaseUnrolledCandidateWindow(
107108

108109
fun bindCandidateUiViewHolder(holder: CandidateViewHolder) {
109110
holder.itemView.run {
110-
setOnClickListener {
111-
rime.launchOnReady { it.selectCandidate(holder.idx) }
111+
setOnClickListener { view ->
112+
rime.launchOnReady {
113+
InputFeedbackManager.keyPressVibrate(view)
114+
it.selectCandidate(holder.idx)
115+
}
112116
}
113117
setOnLongClickListener { view ->
114118
compactCandidate.showCandidateAction(holder.idx, holder.text, view)

0 commit comments

Comments
 (0)