aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/compat/InputMethodServiceCompatWrapper.java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2011-07-19 23:22:37 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-07-19 23:22:37 -0700
commit1dc80048d75d5501194d3171010f0ad8686261c0 (patch)
tree5095345d7d77862f94db6e6fe9a77693f038c9da /java/src/com/android/inputmethod/compat/InputMethodServiceCompatWrapper.java
parent597b1157970462dcd429be608cac21e33011e9df (diff)
parentbf9d8348d89be257ccc3db75333bfd4cdf0a9b7e (diff)
downloadlatinime-1dc80048d75d5501194d3171010f0ad8686261c0.tar.gz
latinime-1dc80048d75d5501194d3171010f0ad8686261c0.tar.xz
latinime-1dc80048d75d5501194d3171010f0ad8686261c0.zip
Merge "Support select input method dialog on pre-HC platform"
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