Skip to content

Commit 318d65b

Browse files
committed
refactor(enums): tidy enum classes
1 parent 3a1b043 commit 318d65b

File tree

8 files changed

+45
-69
lines changed

8 files changed

+45
-69
lines changed

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

+6-6
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import android.content.SharedPreferences
55
import androidx.preference.PreferenceManager
66
import com.blankj.utilcode.util.PathUtils
77
import com.osfans.trime.R
8-
import com.osfans.trime.ime.enums.InlineModeType
8+
import com.osfans.trime.ime.enums.FullscreenMode
9+
import com.osfans.trime.ime.enums.InlinePreeditMode
910
import com.osfans.trime.ime.keyboard.KeyboardPrefs
10-
import com.osfans.trime.ime.landscapeinput.LandscapeInputUIMode
1111
import com.osfans.trime.util.appContext
1212
import java.lang.ref.WeakReference
1313
import java.util.Calendar
@@ -184,11 +184,11 @@ class AppPrefs(
184184
const val SHOULD_LONG_CLICK_DELETE_CANDIDATE = "keyboard__long_click_delete_candidate"
185185
}
186186

187-
var inlinePreedit: InlineModeType
188-
get() = InlineModeType.fromString(prefs.getPref(INLINE_PREEDIT_MODE, "preview"))
187+
var inlinePreedit: InlinePreeditMode
188+
get() = InlinePreeditMode.fromString(prefs.getPref(INLINE_PREEDIT_MODE, "preview"))
189189
set(v) = prefs.setPref(INLINE_PREEDIT_MODE, v)
190-
var fullscreenMode: LandscapeInputUIMode
191-
get() = LandscapeInputUIMode.fromString(prefs.getPref(FULLSCREEN_MODE, "auto_show"))
190+
var fullscreenMode: FullscreenMode
191+
get() = FullscreenMode.fromString(prefs.getPref(FULLSCREEN_MODE, "auto_show"))
192192
set(v) = prefs.setPref(FULLSCREEN_MODE, v)
193193
var softCursorEnabled: Boolean = false
194194
get() = prefs.getPref(SOFT_CURSOR_ENABLED, true)

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

+4-4
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import android.view.inputmethod.InputConnection
1111
import com.osfans.trime.core.Rime
1212
import com.osfans.trime.data.AppPrefs
1313
import com.osfans.trime.data.db.DraftHelper
14-
import com.osfans.trime.ime.enums.InlineModeType
14+
import com.osfans.trime.ime.enums.InlinePreeditMode
1515
import com.osfans.trime.ime.text.TextInputManager
1616
import timber.log.Timber
1717

@@ -68,9 +68,9 @@ class EditorInstance(private val ims: InputMethodService) {
6868
val ic = inputConnection ?: return
6969
val composingText =
7070
when (prefs.keyboard.inlinePreedit) {
71-
InlineModeType.INLINE_PREVIEW -> Rime.composingText
72-
InlineModeType.INLINE_COMPOSITION -> Rime.compositionText
73-
InlineModeType.INLINE_INPUT -> Rime.getRimeRawInput() ?: ""
71+
InlinePreeditMode.PREVIEW -> Rime.composingText
72+
InlinePreeditMode.COMPOSITION -> Rime.compositionText
73+
InlinePreeditMode.INPUT -> Rime.getRimeRawInput() ?: ""
7474
else -> ""
7575
}
7676
if (ic.getSelectedText(0).isNullOrEmpty() || composingText.isNotEmpty()) {

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

+4-4
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ import com.osfans.trime.data.db.DraftHelper
4949
import com.osfans.trime.data.theme.ColorManager
5050
import com.osfans.trime.data.theme.ThemeManager
5151
import com.osfans.trime.ime.broadcast.IntentReceiver
52+
import com.osfans.trime.ime.enums.FullscreenMode
5253
import com.osfans.trime.ime.enums.Keycode
5354
import com.osfans.trime.ime.enums.SymbolKeyboardType
5455
import com.osfans.trime.ime.keyboard.Event
@@ -58,7 +59,6 @@ import com.osfans.trime.ime.keyboard.Key
5859
import com.osfans.trime.ime.keyboard.KeyboardSwitcher
5960
import com.osfans.trime.ime.keyboard.KeyboardView
6061
import com.osfans.trime.ime.keyboard.KeyboardWindow
61-
import com.osfans.trime.ime.landscapeinput.LandscapeInputUIMode
6262
import com.osfans.trime.ime.lifecycle.LifecycleInputMethodService
6363
import com.osfans.trime.ime.symbol.TabManager
6464
import com.osfans.trime.ime.symbol.TabView
@@ -933,7 +933,7 @@ open class TrimeInputMethodService : LifecycleInputMethodService() {
933933
val config = resources.configuration
934934
if (config == null || config.orientation != Configuration.ORIENTATION_LANDSCAPE) return false
935935
return when (prefs.keyboard.fullscreenMode) {
936-
LandscapeInputUIMode.AUTO_SHOW -> {
936+
FullscreenMode.AUTO_SHOW -> {
937937
Timber.d("FullScreen: Auto")
938938
val ei = currentInputEditorInfo
939939
if (ei != null && ei.imeOptions and EditorInfo.IME_FLAG_NO_FULLSCREEN != 0) {
@@ -943,12 +943,12 @@ open class TrimeInputMethodService : LifecycleInputMethodService() {
943943
true
944944
}
945945

946-
LandscapeInputUIMode.ALWAYS_SHOW -> {
946+
FullscreenMode.ALWAYS_SHOW -> {
947947
Timber.d("FullScreen: Always")
948948
true
949949
}
950950

951-
LandscapeInputUIMode.NEVER_SHOW -> {
951+
FullscreenMode.NEVER_SHOW -> {
952952
Timber.d("FullScreen: Never")
953953
false
954954
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.osfans.trime.ime.enums
2+
3+
enum class FullscreenMode {
4+
AUTO_SHOW,
5+
ALWAYS_SHOW,
6+
NEVER_SHOW,
7+
;
8+
9+
companion object {
10+
fun fromString(mode: String): FullscreenMode {
11+
return runCatching {
12+
valueOf(mode.uppercase())
13+
}.getOrDefault(AUTO_SHOW)
14+
}
15+
}
16+
}

app/src/main/java/com/osfans/trime/ime/enums/InlineModeType.kt app/src/main/java/com/osfans/trime/ime/enums/InlinePreeditMode.kt

+9-12
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,18 @@
1818
package com.osfans.trime.ime.enums
1919

2020
/** 嵌入模式枚举 */
21-
enum class InlineModeType {
22-
INLINE_NONE,
23-
INLINE_PREVIEW,
24-
INLINE_COMPOSITION,
25-
INLINE_INPUT,
21+
enum class InlinePreeditMode {
22+
NONE,
23+
PREVIEW,
24+
COMPOSITION,
25+
INPUT,
2626
;
2727

2828
companion object {
29-
fun fromString(string: String): InlineModeType {
30-
return when (string) {
31-
"preview", "preedit", "true" -> INLINE_PREVIEW
32-
"composition" -> INLINE_COMPOSITION
33-
"input" -> INLINE_INPUT
34-
else -> INLINE_NONE
35-
}
29+
fun fromString(string: String): InlinePreeditMode {
30+
return runCatching {
31+
InlinePreeditMode.valueOf(string.uppercase())
32+
}.getOrDefault(NONE)
3633
}
3734
}
3835
}

app/src/main/java/com/osfans/trime/ime/enums/Keycode.kt

+5-5
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,7 @@ enum class Keycode {
353353
private val reverseMap: EnumMap<Keycode, String> = EnumMap(Keycode::class.java)
354354

355355
init {
356-
for (type in values()) {
356+
for (type in entries) {
357357
convertMap[type.toString()] = type
358358
}
359359

@@ -436,7 +436,7 @@ enum class Keycode {
436436
mask: Int = 0,
437437
): IntArray {
438438
val event = IntArray(2)
439-
if (keycode !in values().indices) return event
439+
if (keycode !in entries.indices) return event
440440
if (keycode < A.ordinal) {
441441
event[0] = keycode
442442
event[1] = mask
@@ -470,8 +470,8 @@ enum class Keycode {
470470
}
471471

472472
private fun hasSymbolLabel(keycode: Int): Boolean {
473-
if (keycode !in values().indices) return false
474-
return keycode >= A.ordinal || reverseMap.containsKey(values()[keycode])
473+
if (keycode !in entries.indices) return false
474+
return keycode >= A.ordinal || reverseMap.containsKey(entries[keycode])
475475
}
476476

477477
fun getSymbolLabel(keycode: Keycode): String {
@@ -519,7 +519,7 @@ enum class Keycode {
519519
@JvmStatic
520520
fun valueOf(ordinal: Int): Keycode {
521521
return runCatching {
522-
values()[ordinal]
522+
entries[ordinal]
523523
}.getOrDefault(VoidSymbol)
524524
}
525525

app/src/main/java/com/osfans/trime/ime/enums/PopupPosition.kt

+1-19
Original file line numberDiff line numberDiff line change
@@ -44,31 +44,13 @@ enum class PopupPosition {
4444
;
4545

4646
companion object {
47-
@JvmStatic
48-
fun fromString(code: String): PopupPosition {
49-
return runCatching {
50-
valueOf(code.uppercase())
51-
}.getOrDefault(FIXED)
52-
}
53-
54-
@JvmStatic
5547
fun fromString(
5648
code: String,
57-
default: PopupPosition,
49+
default: PopupPosition = FIXED,
5850
): PopupPosition {
5951
return runCatching {
6052
valueOf(code.uppercase())
6153
}.getOrDefault(default)
6254
}
63-
64-
/**
65-
* 解析候选栏文字,按键文字,按键气泡文字的定位方式
66-
*/
67-
@JvmStatic
68-
fun parseKeyPosition(code: String): PopupPosition {
69-
return runCatching {
70-
valueOf(code.uppercase())
71-
}.getOrDefault(CENTER)
72-
}
7355
}
7456
}

app/src/main/java/com/osfans/trime/ime/landscapeinput/LandscapeInputUIMode.kt

-19
This file was deleted.

0 commit comments

Comments
 (0)