From 0e7d7d632309409e2bc51d5317cf7a92a7541433 Mon Sep 17 00:00:00 2001 From: satok Date: Tue, 5 Jul 2011 13:28:06 +0900 Subject: Fix NPE in getLastInputMethodSubtype Bug: 4991393 Change-Id: I4ced2a2ca4815c7cee84a72dc6131fb8c4ee7216 --- services/java/com/android/server/InputMethodManagerService.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'services/java/com/android/server/InputMethodManagerService.java') diff --git a/services/java/com/android/server/InputMethodManagerService.java b/services/java/com/android/server/InputMethodManagerService.java index 14abf808b71f..2d55433d9cd0 100644 --- a/services/java/com/android/server/InputMethodManagerService.java +++ b/services/java/com/android/server/InputMethodManagerService.java @@ -1623,8 +1623,11 @@ public class InputMethodManagerService extends IInputMethodManager.Stub if (lastImi == null) return null; try { final int lastSubtypeHash = Integer.valueOf(lastIme.second); - return lastImi.getSubtypeAt(getSubtypeIdFromHashCode( - lastImi, lastSubtypeHash)); + final int lastSubtypeId = getSubtypeIdFromHashCode(lastImi, lastSubtypeHash); + if (lastSubtypeId < 0 || lastSubtypeId >= lastImi.getSubtypeCount()) { + return null; + } + return lastImi.getSubtypeAt(lastSubtypeId); } catch (NumberFormatException e) { return null; } -- cgit v1.2.3