Skip to content

Commit

Permalink
fix: wrong functional key back color
Browse files Browse the repository at this point in the history
  • Loading branch information
nopdan authored and WhiredPlanck committed Jan 23, 2024
1 parent fd8873d commit d097e87
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 21 deletions.
28 changes: 18 additions & 10 deletions app/src/main/java/com/osfans/trime/ime/keyboard/Key.java
Original file line number Diff line number Diff line change
Expand Up @@ -329,23 +329,31 @@ public int getKey_offset_y() {
return pressed ? key_press_offset_y : 0;
}

private boolean isNormal(int[] drawableState) {
return (drawableState == KEY_STATE_NORMAL || drawableState == KEY_STATE_NORMAL_OFF);
}

public Drawable getBackColorForState(int[] drawableState) {
if (isNormal(drawableState)) return key_back_color;
else return hilited_key_back_color;
if (drawableState == KEY_STATE_NORMAL) {
return key_back_color;
} else if (drawableState == KEY_STATE_PRESSED) {
return hilited_key_back_color;
}
return null;
}

public Integer getTextColorForState(int[] drawableState) {
if (isNormal(drawableState)) return key_text_color;
else return hilited_key_text_color;
if (drawableState == KEY_STATE_NORMAL) {
return key_text_color;
} else if (drawableState == KEY_STATE_PRESSED) {
return hilited_key_text_color;
}
return null;
}

public Integer getSymbolColorForState(int[] drawableState) {
if (isNormal(drawableState)) return key_symbol_color;
else return hilited_key_symbol_color;
if (drawableState == KEY_STATE_NORMAL) {
return key_symbol_color;
} else if (drawableState == KEY_STATE_PRESSED) {
return hilited_key_symbol_color;
}
return null;
}

/**
Expand Down
23 changes: 12 additions & 11 deletions app/src/main/java/com/osfans/trime/util/CollectionUtils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ object CollectionUtils {
map: Map<String, Any?>?,
vararg: String?,
): Any? {
if (map.isNullOrEmpty() || vararg == null) return null
if (map.isNullOrEmpty() || vararg == null || !map.containsKey(vararg)) return null
val keys = vararg.split('/')
var v: Any? = map
for (key in keys) {
Expand All @@ -34,7 +34,7 @@ object CollectionUtils {
key: String,
defValue: String = "",
): String {
if (map.isNullOrEmpty() || key.isEmpty()) return defValue
if (map.isNullOrEmpty() || key.isEmpty() || !map.containsKey(key)) return defValue
val v = obtainValue(map, key)
return v?.toString() ?: defValue
}
Expand All @@ -45,11 +45,10 @@ object CollectionUtils {
key: String,
defValue: Int = 0,
): Int {
if (map.isNullOrEmpty() || key.isEmpty()) return defValue
if (map.isNullOrEmpty() || key.isEmpty() || !map.containsKey(key)) return defValue
val nm = obtainString(map, key)
return runCatching {
if (nm.isNotEmpty()) java.lang.Long.decode(nm).toInt() else defValue
}.getOrDefault(defValue)
return runCatching { if (nm.isNotEmpty()) java.lang.Long.decode(nm).toInt() else defValue }
.getOrDefault(defValue)
}

@JvmStatic
Expand All @@ -58,11 +57,9 @@ object CollectionUtils {
key: String,
defValue: Float = 0f,
): Float {
if (map.isNullOrEmpty() || key.isEmpty()) return defValue
if (map.isNullOrEmpty() || key.isEmpty() || !map.containsKey(key)) return defValue
val s = obtainString(map, key)
return runCatching {
if (s.isNotEmpty()) s.toFloat() else defValue
}.getOrDefault(defValue)
return runCatching { if (s.isNotEmpty()) s.toFloat() else defValue }.getOrDefault(defValue)
}

@JvmStatic
Expand All @@ -71,6 +68,10 @@ object CollectionUtils {
key: String,
defValue: Boolean = false,
): Boolean {
return if (map.isNullOrEmpty() || key.isEmpty()) defValue else obtainString(map, key).toBoolean()
return if (map.isNullOrEmpty() || key.isEmpty() || !map.containsKey(key)) {
defValue
} else {
obtainString(map, key).toBoolean()
}
}
}

0 comments on commit d097e87

Please sign in to comment.