summaryrefslogtreecommitdiffstats
path: root/include/android_runtime/android_app_NativeActivity.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/android_runtime/android_app_NativeActivity.h')
-rw-r--r--include/android_runtime/android_app_NativeActivity.h103
1 files changed, 0 insertions, 103 deletions
diff --git a/include/android_runtime/android_app_NativeActivity.h b/include/android_runtime/android_app_NativeActivity.h
index 7977c23..e096e91 100644
--- a/include/android_runtime/android_app_NativeActivity.h
+++ b/include/android_runtime/android_app_NativeActivity.h
@@ -17,7 +17,6 @@
#ifndef _ANDROID_APP_NATIVEACTIVITY_H
#define _ANDROID_APP_NATIVEACTIVITY_H
-#include <androidfw/InputTransport.h>
#include <utils/Looper.h>
#include <android/native_activity.h>
@@ -43,106 +42,4 @@ extern void android_NativeActivity_hideSoftInput(
} // namespace android
-
-/*
- * NDK input queue API.
- *
- * Here is the event flow:
- * 1. Event arrives in input consumer, and is returned by getEvent().
- * 2. Application calls preDispatchEvent():
- * a. Event is assigned a sequence ID and enqueued in mPreDispatchingKeys.
- * b. Main thread picks up event, hands to input method.
- * c. Input method eventually returns sequence # and whether it was handled.
- * d. finishPreDispatch() is called to enqueue the information.
- * e. next getEvent() call will:
- * - finish any pre-dispatch events that the input method handled
- * - return the next pre-dispatched event that the input method didn't handle.
- * f. (A preDispatchEvent() call on this event will now return false).
- * 3. Application calls finishEvent() with whether it was handled.
- * - If handled is true, the event is finished.
- * - If handled is false, the event is put on mUnhandledKeys, and:
- * a. Main thread receives event from consumeUnhandledEvent().
- * b. Java sends event through default key handler.
- * c. event is finished.
- */
-struct AInputQueue {
-public:
- /* Creates a consumer associated with an input channel. */
- explicit AInputQueue(const android::sp<android::InputChannel>& channel, int workWrite);
-
- /* Destroys the consumer and releases its input channel. */
- ~AInputQueue();
-
- void attachLooper(ALooper* looper, int ident, ALooper_callbackFunc callback, void* data);
-
- void detachLooper();
-
- int32_t hasEvents();
-
- int32_t getEvent(AInputEvent** outEvent);
-
- bool preDispatchEvent(AInputEvent* event);
-
- void finishEvent(AInputEvent* event, bool handled, bool didDefaultHandling);
-
- // ----------------------------------------------------------
-
- inline android::InputConsumer& getConsumer() { return mConsumer; }
-
- void dispatchEvent(android::KeyEvent* event);
-
- void finishPreDispatch(int seq, bool handled);
-
- android::KeyEvent* consumeUnhandledEvent();
- android::KeyEvent* consumePreDispatchingEvent(int* outSeq);
-
- android::KeyEvent* createKeyEvent();
-
- int mWorkWrite;
-
-private:
- void doUnhandledKey(android::KeyEvent* keyEvent);
- bool preDispatchKey(android::KeyEvent* keyEvent);
- void wakeupDispatchLocked();
-
- android::PooledInputEventFactory mPooledInputEventFactory;
- android::InputConsumer mConsumer;
- android::sp<android::Looper> mLooper;
-
- int mDispatchKeyRead;
- int mDispatchKeyWrite;
-
- struct in_flight_event {
- android::InputEvent* event;
- int seq; // internal sequence number for synthetic pre-dispatch events
- uint32_t finishSeq; // sequence number for sendFinishedSignal, or 0 if finish not required
- };
-
- struct finish_pre_dispatch {
- int seq;
- bool handled;
- };
-
- android::Mutex mLock;
-
- int mSeq;
-
- // All input events that are actively being processed.
- android::Vector<in_flight_event> mInFlightEvents;
-
- // Key events that the app didn't handle, and are pending for
- // delivery to the activity's default key handling.
- android::Vector<android::KeyEvent*> mUnhandledKeys;
-
- // Keys that arrived in the Java framework and need to be
- // dispatched to the app.
- android::Vector<android::KeyEvent*> mDispatchingKeys;
-
- // Key events that are pending to be pre-dispatched to the IME.
- android::Vector<in_flight_event> mPreDispatchingKeys;
-
- // Event sequence numbers that we have finished pre-dispatching.
- android::Vector<finish_pre_dispatch> mFinishPreDispatches;
-};
-
#endif // _ANDROID_APP_NATIVEACTIVITY_H