abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/Pointers.java
diff options
context:
space:
mode:
authorJules Aguillon2022-06-06 00:23:45 +0200
committerJules Aguillon2022-06-06 00:23:45 +0200
commit31d6a70dfb9c7ad3a72302bca2339f926e4593ee (patch)
tree18aacc302fb21472688c01c0f73b53662b61cd37 /srcs/juloo.keyboard2/Pointers.java
parent7462955507325bf8f9037a45aec17c15b5f8b9e7 (diff)
downloadunexpected-keyboard-31d6a70dfb9c7ad3a72302bca2339f926e4593ee.tar.gz
unexpected-keyboard-31d6a70dfb9c7ad3a72302bca2339f926e4593ee.zip
Refactor: Remove KeyValue.name
This makes KeyValue objects smaller. 'equals' and 'hashCode' are now implemented too. Key names are still used to recognise keys with special meaning, but not for comparing keys anymore.
Diffstat (limited to 'srcs/juloo.keyboard2/Pointers.java')
-rw-r--r--srcs/juloo.keyboard2/Pointers.java9
1 files changed, 3 insertions, 6 deletions
diff --git a/srcs/juloo.keyboard2/Pointers.java b/srcs/juloo.keyboard2/Pointers.java
index 7ef714b..0548b88 100644
--- a/srcs/juloo.keyboard2/Pointers.java
+++ b/srcs/juloo.keyboard2/Pointers.java
@@ -68,11 +68,8 @@ public final class Pointers implements Handler.Callback
*/
public int getKeyFlags(KeyValue kv)
{
- // Comparing names because the keys might have been modified.
- // Physical equality works because names are never computed or shared.
- String name = kv.name;
for (Pointer p : _ptrs)
- if (p.value != null && p.value.name == name)
+ if (p.value != null && p.value.equals(kv))
return p.flags;
return -1;
}
@@ -214,7 +211,7 @@ public final class Pointers implements Handler.Callback
{
ptr.selected_direction = direction;
KeyValue newValue = getKeyAtDirection(ptr, direction);
- if (newValue != null && (ptr.value == null || newValue.name != ptr.value.name))
+ if (newValue != null && (ptr.value == null || !newValue.equals(ptr.value)))
{
int old_flags = ptr.flags;
ptr.value = newValue;
@@ -253,7 +250,7 @@ public final class Pointers implements Handler.Callback
if (v == null)
return null;
for (Pointer p : _ptrs)
- if (p.key == k && p.pointerId == -1 && p.value != null && p.value.name == v.name)
+ if (p.key == k && p.pointerId == -1 && p.value != null && p.value.equals(v))
return p;
return null;
}