android input子系统--InputReader EventHub::getevents之mNeedToScanDevices变量详细分析

EventHub::getevents方法中,mNeedToScanDevices变量的调用过程详细分析

        ...

        if (mNeedToScanDevices) {
            mNeedToScanDevices = false;
            scanDevicesLocked();
            mNeedToSendFinishedDeviceScan = true;

        }

        ...


由上图可知,调用过程如下:

1.EventHub::EventHub构造方法中将mNeedToScanDevices初始化为true


2.在EventHub::getEvents方法中如果 mNeedToReopenDevices为true,那么mNeedToScanDevices为true,通过之前对于

mNeedToReopenDevices变量的分析可知,系统初始化的时候mNeedToReopenDevices为初始值true,

                1.NativeInputManager::setDisplayViewport

                2.NativeInputManager::setInputWindows

                3.NativeInputManager::setPointerSpeed

                4.NativeInputManager::setShowTouches

                5.nativeReloadKeyboardLayouts

                6.nativeReloadDeviceAliasess

这两个事件发生时,mNeedToReopenDevices才为true,系统初始化时mNeedToScanDevices也为true

scanDevicesLocked 分析:

由于mNeedToScanDevices在EventHub::EventHub构造函数中初始化为true,所以将会调用到scanDevicesLocked方法,






阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭