Fix Keyboard.getKey as thread safe

This is a follow up of Id962e670.

Change-Id: I9e8542bff9e8faf57f934051fe612463c99ad61f
main
Tadashi G. Takaoka 2012-07-05 10:44:10 +09:00
parent e9a86e2cdb
commit 8f6c603b3b
1 changed files with 13 additions and 11 deletions

View File

@ -185,6 +185,7 @@ public class Keyboard {
if (code == CODE_UNSPECIFIED) { if (code == CODE_UNSPECIFIED) {
return null; return null;
} }
synchronized (mKeyCache) {
final int index = mKeyCache.indexOfKey(code); final int index = mKeyCache.indexOfKey(code);
if (index >= 0) { if (index >= 0) {
return mKeyCache.valueAt(index); return mKeyCache.valueAt(index);
@ -199,6 +200,7 @@ public class Keyboard {
mKeyCache.put(code, null); mKeyCache.put(code, null);
return null; return null;
} }
}
public boolean hasKey(Key aKey) { public boolean hasKey(Key aKey) {
if (mKeyCache.indexOfValue(aKey) >= 0) { if (mKeyCache.indexOfValue(aKey) >= 0) {