最終更新:2015-11-09 (月) 14:57:48 (3084d)
InputManager
Top / InputManager
Java (Android/Application Framework)
Android/システムサービス
C++ (AOSP/frameworks)
~Android 4.4
- AOSP/frameworks/base/services/input/InputManager.h
- AOSP/frameworks/base/services/input/InputManager.cpp
Android 5.0~
- AOSP/frameworks/native/services/inputflinger/InputManager.h
- AOSP/frameworks/native/services/inputflinger/InputManager.cpp
class InputManager : public InputManagerInterface { protected: virtual ~InputManager(); public: InputManager( const sp<EventHubInterface>& eventHub, const sp<InputReaderPolicyInterface>& readerPolicy, const sp<InputDispatcherPolicyInterface>& dispatcherPolicy); // (used for testing purposes) InputManager( const sp<InputReaderInterface>& reader, const sp<InputDispatcherInterface>& dispatcher); virtual status_t start(); virtual status_t stop(); virtual sp<InputReaderInterface> getReader(); virtual sp<InputDispatcherInterface> getDispatcher(); private: sp<InputReaderInterface> mReader; sp<InputReaderThread> mReaderThread; sp<InputDispatcherInterface> mDispatcher; sp<InputDispatcherThread> mDispatcherThread; void initialize(); };
コンストラクタの引数
- EventHubInterface - EventHubのインターフェイスクラス
- InputReaderPolicyInterface
- InputDispatcherPolicyInterface?
メンバ
- EventHub
- InputReader
- InputDispatcher
- InputReaderThread?
呼び出し順
- AOSP/frameworks/base/services/java/com/android/server/wm/WindowManagerService.javaのコンストラクタ
- new InputManager (Javaのクラス)
- InputManager.start()
- AOSP/frameworks/base/services/java/com/android/server/wm/InputManager.javaのコンストラクタ
- native nativeInit
- AOSP/frameworks/base/services/java/com/android/server/wm/InputManager.javaのstart()
- native nativeStart
- AOSP/frameworks/base/services/jni/com_android_server_InputManager.cpp (JNI)
- android_server_InputManager_nativeInit()
- android_server_InputManager_nativeStart()
- gNativeInputManager->getInputManager()->start();
- NativeInputManagerのコンストラクタ
- new EventHub
- new InputManager (C++のクラス)