aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/compat/InputMethodServiceCompatWrapper.java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2011-07-17 21:18:47 -0700
committerTadashi G. Takaoka <takaoka@google.com>2011-07-19 22:22:47 -0700
commitbf9d8348d89be257ccc3db75333bfd4cdf0a9b7e (patch)
tree8d385533c9f19024c9c8ad392245ee866ac7245f /java/src/com/android/inputmethod/compat/InputMethodServiceCompatWrapper.java
parentfa9f4d1badee67ceb581391dfab2202e4ccb99c0 (diff)
downloadlatinime-bf9d8348d89be257ccc3db75333bfd4cdf0a9b7e.tar.gz
latinime-bf9d8348d89be257ccc3db75333bfd4cdf0a9b7e.tar.xz
latinime-bf9d8348d89be257ccc3db75333bfd4cdf0a9b7e.zip
Support select input method dialog on pre-HC platform
Bug: 4971680 Change-Id: I641b336da54813e13409bd7874aa22e51f790729
Diffstat (limited to 'java/src/com/android/inputmethod/compat/InputMethodServiceCompatWrapper.java')
-rw-r--r--java/src/com/android/inputmethod/compat/InputMethodServiceCompatWrapper.java30
1 files changed, 29 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/compat/InputMethodServiceCompatWrapper.java b/java/src/com/android/inputmethod/compat/InputMethodServiceCompatWrapper.java
index 7d8c745c3..7aab66d05 100644
--- a/java/src/com/android/inputmethod/compat/InputMethodServiceCompatWrapper.java
+++ b/java/src/com/android/inputmethod/compat/InputMethodServiceCompatWrapper.java
@@ -16,10 +16,15 @@
package com.android.inputmethod.compat;
+import android.app.AlertDialog;
import android.inputmethodservice.InputMethodService;
+import android.os.IBinder;
+import android.view.Window;
+import android.view.WindowManager;
import android.view.inputmethod.InputMethodSubtype;
import com.android.inputmethod.deprecated.LanguageSwitcherProxy;
+import com.android.inputmethod.keyboard.KeyboardSwitcher;
import com.android.inputmethod.latin.SubtypeSwitcher;
public class InputMethodServiceCompatWrapper extends InputMethodService {
@@ -32,10 +37,33 @@ public class InputMethodServiceCompatWrapper extends InputMethodService {
private InputMethodManagerCompatWrapper mImm;
+ // For compatibility of {@link InputMethodManager#showInputMethodPicker}.
+ // TODO: Move this variable back to LatinIME when this compatibility wrapper is removed.
+ protected AlertDialog mOptionsDialog;
+
+ public void showOptionDialogInternal(AlertDialog dialog) {
+ final IBinder windowToken = KeyboardSwitcher.getInstance().getKeyboardView()
+ .getWindowToken();
+ if (windowToken == null) return;
+
+ dialog.setCancelable(true);
+ dialog.setCanceledOnTouchOutside(true);
+
+ final Window window = dialog.getWindow();
+ final WindowManager.LayoutParams lp = window.getAttributes();
+ lp.token = windowToken;
+ lp.type = WindowManager.LayoutParams.TYPE_APPLICATION_ATTACHED_DIALOG;
+ window.setAttributes(lp);
+ window.addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
+
+ mOptionsDialog = dialog;
+ dialog.show();
+ }
+
@Override
public void onCreate() {
super.onCreate();
- mImm = InputMethodManagerCompatWrapper.getInstance(this);
+ mImm = InputMethodManagerCompatWrapper.getInstance();
}
// When the API level is 10 or previous, notifyOnCurrentInputMethodSubtypeChanged should