@@ -10,6 +10,8 @@ import com.reactnativekeyboardcontroller.R
10
10
import com.reactnativekeyboardcontroller.extensions.currentImePackage
11
11
import com.reactnativekeyboardcontroller.extensions.isSystemDarkMode
12
12
13
+ private const val MAX_RGB_VALUE = 255
14
+
13
15
object ImePackages {
14
16
const val AOSP = " com.android.inputmethod.latin"
15
17
const val GBOARD = " com.google.android.inputmethod.latin"
@@ -57,40 +59,32 @@ fun shiftRgbChannels(
57
59
@ColorInt color : Int ,
58
60
shift : Int = 4,
59
61
): Int {
60
- // Extract RGB channels and shift each by `shift`
61
- val red = (Color .red(color) + shift).coerceIn(0 , 255 )
62
- val green = (Color .green(color) + shift).coerceIn(0 , 255 )
63
- val blue = (Color .blue(color) + shift).coerceIn(0 , 255 )
62
+ val red = (Color .red(color) + shift).coerceIn(0 , MAX_RGB_VALUE )
63
+ val green = (Color .green(color) + shift).coerceIn(0 , MAX_RGB_VALUE )
64
+ val blue = (Color .blue(color) + shift).coerceIn(0 , MAX_RGB_VALUE )
64
65
65
- // Preserve alpha and combine shifted channels
66
66
return Color .argb(
67
- Color .alpha(color), // Keep original alpha
67
+ Color .alpha(color),
68
68
red,
69
69
green,
70
70
blue,
71
71
)
72
72
}
73
73
74
- // TODO: re-work as extension?
75
- object Skins {
76
- @ColorInt
77
- fun ThemedReactContext.getInputMethodColor (): Int {
78
- val imePackage = currentImePackage()
79
- val isDark = isSystemDarkMode()
80
-
81
- println (" Current IME: $imePackage " )
82
- println (imePackage)
83
- println (" isDRK $isDark " )
84
- Log .i(" Skins" , " Current IME: $imePackage " )
74
+ @ColorInt
75
+ fun ThemedReactContext.getInputMethodColor (): Int {
76
+ val imePackage = currentImePackage()
77
+ val isDark = isSystemDarkMode()
78
+
79
+ Log .i(" Skins" , " Current IME: $imePackage " )
85
80
86
- val (lightColorRes, darkColorRes) =
87
- imeColorMap[imePackage]
88
- ? : (R .style.gboard_light to R .style.gboard_dark)
81
+ val (lightColorRes, darkColorRes) =
82
+ imeColorMap[imePackage]
83
+ ? : (R .style.gboard_light to R .style.gboard_dark)
89
84
90
- // on Android 10 dark theme doesn't affect keyboard color
91
- val resId = if (isDark && Build .VERSION .SDK_INT > Build .VERSION_CODES .Q ) darkColorRes else lightColorRes
92
- val color = getColorProperties(resId).blend
85
+ // on Android 10 dark theme doesn't affect keyboard color
86
+ val resId = if (isDark && Build .VERSION .SDK_INT > Build .VERSION_CODES .Q ) darkColorRes else lightColorRes
87
+ val color = getColorProperties(resId).blend
93
88
94
- return color
95
- }
89
+ return color
96
90
}
0 commit comments