From 69bcc15cb386f0a2b56aed8a58ddb1468974c92d Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" <takaoka@google.com> Date: Tue, 17 Apr 2012 22:48:00 +0900 Subject: [PATCH] Add SubtypeUtils.setAditionalInputMethodSubtypes method Change-Id: Ia3043346ed87297e01d505980555fdf29ce4f96f --- java/src/com/android/inputmethod/latin/LatinIME.java | 5 ++--- .../com/android/inputmethod/latin/SubtypeUtils.java | 10 ++++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index b30d1e35cd..ddf21f7498 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -442,9 +442,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen loadSettings(); - mImm.setAdditionalInputMethodSubtypes( - SubtypeUtils.getInputMethodId(getPackageName()), - mSettingsValues.getPrefefinedAdditionalSubtypes()); + SubtypeUtils.setAditionalInputMethodSubtypes( + this, mSettingsValues.getPrefefinedAdditionalSubtypes()); // TODO: remove the following when it's not needed by updateCorrectionMode() any more mInputAttributes = new InputAttributes(null, false /* isFullscreenMode */); diff --git a/java/src/com/android/inputmethod/latin/SubtypeUtils.java b/java/src/com/android/inputmethod/latin/SubtypeUtils.java index 4d0f1c2628..a361027afd 100644 --- a/java/src/com/android/inputmethod/latin/SubtypeUtils.java +++ b/java/src/com/android/inputmethod/latin/SubtypeUtils.java @@ -146,4 +146,14 @@ public class SubtypeUtils { throw new RuntimeException("Can't find subtype for locale " + localeString + " and keyboard layout " + keyoardLayoutSet); } + + public static void setAditionalInputMethodSubtypes(Context context, + InputMethodSubtype[] subtypes) { + final InputMethodManagerCompatWrapper imm = InputMethodManagerCompatWrapper.getInstance(); + if (imm == null) { + throw new RuntimeException("Input method manager not found"); + } + final String imiId = getInputMethodId(context.getPackageName()); + imm.setAdditionalInputMethodSubtypes(imiId, subtypes); + } } -- GitLab