summaryrefslogtreecommitdiffstats
path: root/core/java/android/inputmethodservice/SoftInputWindow.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/inputmethodservice/SoftInputWindow.java')
-rw-r--r--core/java/android/inputmethodservice/SoftInputWindow.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/core/java/android/inputmethodservice/SoftInputWindow.java b/core/java/android/inputmethodservice/SoftInputWindow.java
index d91ace6..6a54846 100644
--- a/core/java/android/inputmethodservice/SoftInputWindow.java
+++ b/core/java/android/inputmethodservice/SoftInputWindow.java
@@ -21,6 +21,7 @@ import android.content.Context;
import android.content.pm.ActivityInfo;
import android.os.IBinder;
import android.view.Gravity;
+import android.view.KeyEvent;
import android.view.WindowManager;
/**
@@ -30,7 +31,8 @@ import android.view.WindowManager;
* always visible.
*/
class SoftInputWindow extends Dialog {
-
+ final KeyEvent.DispatcherState mDispatcherState;
+
public void setToken(IBinder token) {
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.token = token;
@@ -49,11 +51,19 @@ class SoftInputWindow extends Dialog {
* using styles. This theme is applied on top of the current theme in
* <var>context</var>. If 0, the default dialog theme will be used.
*/
- public SoftInputWindow(Context context, int theme) {
+ public SoftInputWindow(Context context, int theme,
+ KeyEvent.DispatcherState dispatcherState) {
super(context, theme);
+ mDispatcherState = dispatcherState;
initDockWindow();
}
+ @Override
+ public void onWindowFocusChanged(boolean hasFocus) {
+ super.onWindowFocusChanged(hasFocus);
+ mDispatcherState.reset();
+ }
+
/**
* Get the size of the DockWindow.
*