From 9115dd272328def247116ccf1ce458d360fec4ad Mon Sep 17 00:00:00 2001 From: satok Date: Fri, 25 Mar 2011 15:56:10 -0700 Subject: Fix some compat bugs and add VoiceInputLoggerCompatUtils Change-Id: I54ed0853ed4423704a300977d7880678e066a6fb --- .../inputmethod/compat/InputMethodManagerCompatWrapper.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'java/src/com/android/inputmethod/compat/InputMethodManagerCompatWrapper.java') diff --git a/java/src/com/android/inputmethod/compat/InputMethodManagerCompatWrapper.java b/java/src/com/android/inputmethod/compat/InputMethodManagerCompatWrapper.java index d1747ba5f..3bf0ed6b5 100644 --- a/java/src/com/android/inputmethod/compat/InputMethodManagerCompatWrapper.java +++ b/java/src/com/android/inputmethod/compat/InputMethodManagerCompatWrapper.java @@ -24,6 +24,7 @@ import android.view.inputmethod.InputMethodManager; import java.lang.reflect.Method; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -43,6 +44,8 @@ public class InputMethodManagerCompatWrapper { CompatUtils.getMethod( InputMethodManager.class, "setInputMethodAndSubtype", IBinder.class, String.class, InputMethodSubtypeCompatWrapper.CLASS_InputMethodSubtype); + private static final Method METHOD_switchToLastInputMethod = CompatUtils.getMethod( + InputMethodManager.class, "switchToLastInputMethod", IBinder.class); private static final InputMethodManagerCompatWrapper sInstance = new InputMethodManagerCompatWrapper(); @@ -78,7 +81,8 @@ public class InputMethodManagerCompatWrapper { public Map> getShortcutInputMethodsAndSubtypes() { Object retval = CompatUtils.invoke(mImm, null, METHOD_getShortcutInputMethodsAndSubtypes); - if (!(retval instanceof Map)) return null; + // Returns an empty map + if (!(retval instanceof Map)) return Collections.emptyMap(); Map> shortcutMap = new HashMap>(); final Map retvalMap = (Map)retval; @@ -100,8 +104,7 @@ public class InputMethodManagerCompatWrapper { } public boolean switchToLastInputMethod(IBinder token) { - if (mImm == null) return false; - return mImm.switchToLastInputMethod(token); + return (Boolean)CompatUtils.invoke(mImm, false, METHOD_switchToLastInputMethod, token); } public List getEnabledInputMethodList() { -- cgit v1.2.3-83-g751a