From 8ae3f6190244156bc6e750680654057bd7816309 Mon Sep 17 00:00:00 2001 From: Marco Nelissen Date: Wed, 27 May 2009 10:01:05 -0700 Subject: [PATCH] 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. --- core/java/android/gesture/LetterRecognizer.java | 4 ++++ core/java/android/widget/AbsListView.java | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/core/java/android/gesture/LetterRecognizer.java b/core/java/android/gesture/LetterRecognizer.java index b26b3f2c5a2fb..9e801ed435629 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 e896d5839d6d7..3c827a0bad9cd 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 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];