summaryrefslogtreecommitdiffstats
path: root/core/java/android/inputmethodservice/AbstractInputMethodService.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/inputmethodservice/AbstractInputMethodService.java')
-rw-r--r--core/java/android/inputmethodservice/AbstractInputMethodService.java16
1 files changed, 15 insertions, 1 deletions
diff --git a/core/java/android/inputmethodservice/AbstractInputMethodService.java b/core/java/android/inputmethodservice/AbstractInputMethodService.java
index eedcc35..3619653 100644
--- a/core/java/android/inputmethodservice/AbstractInputMethodService.java
+++ b/core/java/android/inputmethodservice/AbstractInputMethodService.java
@@ -45,6 +45,9 @@ public abstract class AbstractInputMethodService extends Service
implements KeyEvent.Callback {
private InputMethod mInputMethod;
+ final KeyEvent.DispatcherState mDispatcherState
+ = new KeyEvent.DispatcherState();
+
/**
* Base class for derived classes to implement their {@link InputMethod}
* interface. This takes care of basic maintenance of the input method,
@@ -129,7 +132,8 @@ public abstract class AbstractInputMethodService extends Service
* callbacks on the service, and tell the client when this is done.
*/
public void dispatchKeyEvent(int seq, KeyEvent event, EventCallback callback) {
- boolean handled = event.dispatch(AbstractInputMethodService.this);
+ boolean handled = event.dispatch(AbstractInputMethodService.this,
+ mDispatcherState, this);
if (callback != null) {
callback.finishedEvent(seq, handled);
}
@@ -148,6 +152,16 @@ public abstract class AbstractInputMethodService extends Service
}
/**
+ * Return the global {@link KeyEvent.DispatcherState KeyEvent.DispatcherState}
+ * for used for processing events from the target application.
+ * Normally you will not need to use this directly, but
+ * just use the standard high-level event callbacks like {@link #onKeyDown}.
+ */
+ public KeyEvent.DispatcherState getKeyDispatcherState() {
+ return mDispatcherState;
+ }
+
+ /**
* Called by the framework during initialization, when the InputMethod
* interface for this service needs to be created.
*/