aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/compat/InputMethodManagerCompatWrapper.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/com/android/inputmethod/compat/InputMethodManagerCompatWrapper.java')
-rw-r--r--java/src/com/android/inputmethod/compat/InputMethodManagerCompatWrapper.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/compat/InputMethodManagerCompatWrapper.java b/java/src/com/android/inputmethod/compat/InputMethodManagerCompatWrapper.java
index 7e216e5c8..9dd0a599d 100644
--- a/java/src/com/android/inputmethod/compat/InputMethodManagerCompatWrapper.java
+++ b/java/src/com/android/inputmethod/compat/InputMethodManagerCompatWrapper.java
@@ -49,6 +49,8 @@ public class InputMethodManagerCompatWrapper {
private static final String TAG = InputMethodManagerCompatWrapper.class.getSimpleName();
private static final Method METHOD_getCurrentInputMethodSubtype =
CompatUtils.getMethod(InputMethodManager.class, "getCurrentInputMethodSubtype");
+ private static final Method METHOD_getLastInputMethodSubtype =
+ CompatUtils.getMethod(InputMethodManager.class, "getLastInputMethodSubtype");
private static final Method METHOD_getEnabledInputMethodSubtypeList =
CompatUtils.getMethod(InputMethodManager.class, "getEnabledInputMethodSubtypeList",
InputMethodInfo.class, boolean.class);
@@ -60,6 +62,8 @@ public class InputMethodManagerCompatWrapper {
String.class, InputMethodSubtypeCompatWrapper.CLASS_InputMethodSubtype);
private static final Method METHOD_switchToLastInputMethod = CompatUtils.getMethod(
InputMethodManager.class, "switchToLastInputMethod", IBinder.class);
+ private static final Method METHOD_switchToNextInputMethod = CompatUtils.getMethod(
+ InputMethodManager.class, "switchToNextInputMethod", IBinder.class, Boolean.TYPE);
private static final InputMethodManagerCompatWrapper sInstance =
new InputMethodManagerCompatWrapper();
@@ -111,6 +115,15 @@ public class InputMethodManagerCompatWrapper {
return new InputMethodSubtypeCompatWrapper(o);
}
+ public InputMethodSubtypeCompatWrapper getLastInputMethodSubtype() {
+ if (!SUBTYPE_SUPPORTED) {
+ return new InputMethodSubtypeCompatWrapper(
+ 0, 0, mLanguageSwitcherProxy.getInputLocale().toString(), KEYBOARD_MODE, "");
+ }
+ Object o = CompatUtils.invoke(mImm, null, METHOD_getLastInputMethodSubtype);
+ return new InputMethodSubtypeCompatWrapper(o);
+ }
+
public List<InputMethodSubtypeCompatWrapper> getEnabledInputMethodSubtypeList(
InputMethodInfoCompatWrapper imi, boolean allowsImplicitlySelectedSubtypes) {
if (!SUBTYPE_SUPPORTED) {
@@ -221,6 +234,14 @@ public class InputMethodManagerCompatWrapper {
return (Boolean)CompatUtils.invoke(mImm, false, METHOD_switchToLastInputMethod, token);
}
+ public boolean switchToNextInputMethod(IBinder token, boolean onlyCurrentIme) {
+ if (SubtypeSwitcher.getInstance().isDummyVoiceMode()) {
+ return true;
+ }
+ return (Boolean)CompatUtils.invoke(mImm, false, METHOD_switchToNextInputMethod, token,
+ onlyCurrentIme);
+ }
+
public List<InputMethodInfoCompatWrapper> getEnabledInputMethodList() {
if (mImm == null) return null;
List<InputMethodInfoCompatWrapper> imis = new ArrayList<InputMethodInfoCompatWrapper>();