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方法,






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

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试

关闭