summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2009-05-27 10:01:05 -0700
committerMarco Nelissen <marcone@google.com>2009-05-27 10:03:44 -0700
commit8ae3f6190244156bc6e750680654057bd7816309 (patch)
tree1a12642b8599bc74127dcfcbf789349d83dbc188
parentf0e7e4a9461ab3daf57ecfec3d25be583380d0d2 (diff)
downloadframeworks_base-8ae3f6190244156bc6e750680654057bd7816309.zip
frameworks_base-8ae3f6190244156bc6e750680654057bd7816309.tar.gz
frameworks_base-8ae3f6190244156bc6e750680654057bd7816309.tar.bz2
Fix another crash in Gestures, this one caused by the data file
having the wrong version. I made the loader print a message to the log for this, and made the calling code disable gestures for the listview instead of crashing.
-rw-r--r--core/java/android/gesture/LetterRecognizer.java4
-rw-r--r--core/java/android/widget/AbsListView.java4
2 files changed, 8 insertions, 0 deletions
diff --git a/core/java/android/gesture/LetterRecognizer.java b/core/java/android/gesture/LetterRecognizer.java
index b26b3f2..9e801ed 100644
--- a/core/java/android/gesture/LetterRecognizer.java
+++ b/core/java/android/gesture/LetterRecognizer.java
@@ -153,6 +153,10 @@ public class LetterRecognizer {
case 1:
classifier = readV1(in);
break;
+ default:
+ Log.d(LOG_TAG, "Couldn't load handwriting data: version " + version +
+ " not supported");
+ break;
}
} catch (IOException e) {
diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java
index e896d58..3c827a0 100644
--- a/core/java/android/widget/AbsListView.java
+++ b/core/java/android/widget/AbsListView.java
@@ -3864,6 +3864,10 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
GesturesProcessor() {
mRecognizer = LetterRecognizer.getLetterRecognizer(getContext(),
LetterRecognizer.RECOGNIZER_LATIN_LOWERCASE);
+ if (mRecognizer == null) {
+ dismissGesturesPopup();
+ mGestures = GESTURES_NONE;
+ }
if (mGestures == GESTURES_FILTER) {
mKeyMap = KeyCharacterMap.load(KeyCharacterMap.BUILT_IN_KEYBOARD);
mHolder = new char[1];