Bug #117763

【IOVDEV-25481】【VC1】【0072】【台架】【EE环境】【副屏】非应用界面熄屏情况下点击屏幕进入了应用

Added by CDTS_Test 吴诗雨 about 2 years ago. Updated about 2 years ago.

Status:CLOSEDStart date:2023-05-05
Priority:NormalDue date:
Assignee:移动测试一组_CDTS 刘强% Done:

100%

Category:BSP
Target version:-
Need_Info:-- Found Version:01.00.0094.c103
Resolution:FIXED Degrated:--
Severity:Normal Verified Version:FlatBuild_HH_MCE_FSE.M.R.user.01.00.0101.C103(X103)
Reproducibility:Every time Fixed Version:
Test Type:ST Root cause:使用TP模拟powerkey,在唤醒屏幕时,TP会持续报点,导致误触点击app

Description

环境信息】EE环境
【问题出现时间】:20230504 9:24
【前提条件】:车机上电
【操作步骤】
1.副屏桌面时点击控制中心的“熄屏”按钮进行熄屏

2.点击副屏屏幕

【实际结果】
1.进入了“爱奇艺”应用界面
【期望结果】
1.熄屏情况下点击屏幕仅退出熄屏

【备注】:

视频地址:

【影响版本】:01.00.0094.c103
【硬件版本号】

9点24分熄屏,点击屏幕直接进入应用.7z (181 KB) CDTS_Test 吴诗雨, 2023-05-05 15:45

熄屏情况下点击屏幕不仅退出熄屏还进入了应用.mp4 (7.89 MB) CDTS_Test 吴诗雨, 2023-05-05 15:45


Related issues

Related to Figure - Bug #117942: 【IOVDEV-25481】【BSP】【EVT3】【息屏】非应用界面进入息屏,唤醒后进入应用中 CLOSED 2023-05-15
Related to Figure - Bug #118021: 【IOVDEV-28751】【内部】【VC1】【0072】【台架】【EE环境】【副屏】非HOME页面熄屏从底部快速... CLOSED 2023-05-17

History

#1 Updated by CD FW 曹覃刚 about 2 years ago

  • Status changed from New to ASSIGNED
  • Assignee changed from CD FW 曹覃刚 to CD FW王武军

#2 Updated by CD FW王武军 about 2 years ago

【】当前状态
1、确认问题现象,并在本地复现问题
2、对比测试vc和vx
vc的屏该问题很容易复现,但是也有不复现的时候;
vx的屏该问题很难复现,但是也有复现的时候
3、问题分析
问题的产生原因大致是:
在锁屏情况下,单击屏幕时,底层会在点击时,模拟发送了一个
power key事件最后分发到PhoneWindowManager中触发了亮屏的流程。
但是在分发power key时,底层同时写入了touch的事件,而这个touch事件也会被
InputReader进行读取和分发,在分过过程中会判断屏幕是否锁屏,进而完成分发。
出现问题时,就是InputReader将touch进行了分发,触发了点击事件。

正是因为多出来的这个power key事件,引起了InputDispatcher的分发异常。这里会有一个问题:为什么vc容易复现,但是有时候不复现,而vx难复现,但是也会复现?
其实这个的原因就在于InputDispatcher在分发时检测到的屏幕亮屏的状态异常引起。
因为底层处理屏幕正常处理touch事件时,强制在前面写入了一个power key,其实power key就是这次touch的根本操作目的,但是
touch的原始数据并未被清除,导致原来的touch也会分发执行,但是power key的强制写入引起了屏幕状态的变化导致touch分发检测出现问题。

4、vc和vx抓取到的具体event信息和逻辑日志信息
vc的屏,从getevent获取的信息:
锁屏下点击屏幕:
[ 1016.712398] /dev/input/event2: EV_ABS ABS_MT_TRACKING_ID 00000032
[ 1016.712398] /dev/input/event2: EV_KEY KEY_POWER DOWN
[ 1016.712398] /dev/input/event2: EV_SYN SYN_REPORT 00000000 rate 0
[ 1016.713830] /dev/input/event2: EV_KEY KEY_POWER UP
[ 1016.713830] /dev/input/event2: EV_SYN SYN_REPORT 00000000 rate 698
[ 1016.713998] /dev/input/event2: EV_ABS ABS_MT_POSITION_X 000005c9
[ 1016.713998] /dev/input/event2: EV_ABS ABS_MT_POSITION_Y 000000ea
[ 1016.713998] /dev/input/event2: EV_KEY BTN_TOUCH DOWN
[ 1016.713998] /dev/input/event2: EV_SYN SYN_REPORT 00000000 rate 5952
[ 1016.852448] /dev/input/event2: EV_ABS ABS_MT_TRACKING_ID ffffffff
[ 1016.852448] /dev/input/event2: EV_KEY BTN_TOUCH UP
[ 1016.852448] /dev/input/event2: EV_SYN SYN_REPORT 00000000 rate 7
可以看到发送了power key 在notifyKey中进行了处理,
还发送了touch事件,在notifyMotion中处理,具体日志信息如下:
05-06 04:35:44.650 1025 1658 D InputDispatcher: notifyKey - eventTime=489893206000, deviceId=3, source=0x101, displayId=-1policyFlags=0x0, action=0x0, flags=0x8, keyCode=0x1a, scanCode=0x74, metaState=0x0, downTime=489893206000
05-06 04:35:44.663 1025 1658 D InputDispatcher: notifyKey - eventTime=489893425000, deviceId=3, source=0x101, displayId=-1policyFlags=0x0, action=0x1, flags=0x8, keyCode=0x1a, scanCode=0x74, metaState=0x0, downTime=489893206000
05-06 04:35:44.664 1025 1657 D InputDispatcher: Dropped event because policy consumed it.
05-06 04:35:44.665 1025 1657 D InputDispatcher: Dropped event because policy consumed it.
05-06 04:35:44.701 1025 1658 D InputDispatcher: notifyDeviceReset - eventTime=489944109187, deviceId=3
05-06 04:35:44.701 1025 1658 D InputDispatcher: notifyDeviceReset - eventTime=489944109187, deviceId=2

05-06 04:35:44.805 1025 1658 D InputDispatcher: notifyMotion - id=3ba773a3 eventTime=489893206000, deviceId=3, source=0x5002, displayId=0, policyFlags=0x0, action=0x9, actionButton=0x0, flags=0x0, metaState=0x0, buttonState=0x0, edgeFlags=0x0, xPrecision=1.000000, yPrecision=1.000000, xCursorPosition=nan, yCursorPosition=nan, downTime=486643439000
05-06 04:35:44.805 1025 1658 D InputDispatcher: Pointer 0: id=0, toolType=1, x=2338.000000, y=992.000000, pressure=0.000000, size=0.000000, touchMajor=0.000000, touchMinor=0.000000, toolMajor=0.000000, toolMinor=0.000000, orientation=0.000000
05-06 04:35:44.805 1025 1658 D InputDispatcher: notifyMotion - id=3a9c19a2 eventTime=489893206000, deviceId=3, source=0x5002, displayId=0, policyFlags=0x0, action=0x7, actionButton=0x0, flags=0x0, metaState=0x0, buttonState=0x0, edgeFlags=0x0, xPrecision=1.000000, yPrecision=1.000000, xCursorPosition=nan, yCursorPosition=nan, downTime=486643439000
05-06 04:35:44.805 1025 1658 D InputDispatcher: Pointer 0: id=0, toolType=1, x=2338.000000, y=992.000000, pressure=0.000000, size=0.000000, touchMajor=0.000000, touchMinor=0.000000, toolMajor=0.000000, toolMinor=0.000000, orientation=0.000000
05-06 04:35:44.809 1025 1658 D InputDispatcher: notifyMotion - id=12970766 eventTime=489893425000, deviceId=3, source=0x5002, displayId=0, policyFlags=0x0, action=0x7, actionButton=0x0, flags=0x0, metaState=0x0, buttonState=0x0, edgeFlags=0x0, xPrecision=1.000000, yPrecision=1.000000, xCursorPosition=nan, yCursorPosition=nan, downTime=486643439000
05-06 04:35:44.809 1025 1658 D InputDispatcher: Pointer 0: id=0, toolType=1, x=2338.000000, y=992.000000, pressure=0.000000, size=0.000000, touchMajor=0.000000, touchMinor=0.000000, toolMajor=0.000000, toolMinor=0.000000, orientation=0.000000
05-06 04:35:44.809 1025 1658 D InputDispatcher: notifyMotion - id=3fa9dd76 eventTime=489893493000, deviceId=3, source=0x5002, displayId=0, policyFlags=0x0, action=0xa, actionButton=0x0, flags=0x0, metaState=0x0, buttonState=0x0, edgeFlags=0x0, xPrecision=1.000000, yPrecision=1.000000, xCursorPosition=nan, yCursorPosition=nan, downTime=486643439000
05-06 04:35:44.809 1025 1658 D InputDispatcher: Pointer 0: id=0, toolType=1, x=2338.000000, y=992.000000, pressure=0.000000, size=0.000000, touchMajor=0.000000, touchMinor=0.000000, toolMajor=0.000000, toolMinor=0.000000, orientation=0.000000
05-06 04:35:44.809 1025 1658 D InputDispatcher: notifyMotion - id=19ff73a7 eventTime=489893493000, deviceId=3, source=0x5002, displayId=0, policyFlags=0x0, action=0x0, actionButton=0x0, flags=0x0, metaState=0x0, buttonState=0x0, edgeFlags=0x0, xPrecision=1.000000, yPrecision=1.000000, xCursorPosition=nan, yCursorPosition=nan, downTime=489893493000
05-06 04:35:44.809 1025 1658 D InputDispatcher: Pointer 0: id=0, toolType=1, x=1458.000000, y=207.000000, pressure=1.000000, size=0.000000, touchMajor=0.000000, touchMinor=0.000000, toolMajor=0.000000, toolMinor=0.000000, orientation=0.000000
05-06 04:35:44.809 1025 1658 D InputDispatcher: notifyMotion - id=36bda887 eventTime=490047310000, deviceId=3, source=0x5002, displayId=0, policyFlags=0x0, action=0x1, actionButton=0x0, flags=0x0, metaState=0x0, buttonState=0x0, edgeFlags=0x0, xPrecision=1.000000, yPrecision=1.000000, xCursorPosition=nan, yCursorPosition=nan, downTime=489893493000
05-06 04:35:44.809 1025 1658 D InputDispatcher: Pointer 0: id=0, toolType=1, x=1458.000000, y=207.000000, pressure=1.000000, size=0.000000, touchMajor=0.000000, touchMinor=0.000000, toolMajor=0.000000, toolMinor=0.000000, orientation=0.000000

vx的屏,从getevent抓取的信息
锁屏下点击屏幕:
[ 3750.306422] /dev/input/event2: EV_KEY KEY_POWER DOWN
[ 3750.306422] /dev/input/event2: EV_SYN SYN_REPORT 00000000 rate 0
[ 3750.307056] /dev/input/event2: EV_KEY KEY_POWER UP
[ 3750.307056] /dev/input/event2: EV_SYN SYN_REPORT 00000000 rate 1577
[ 3750.315336] /dev/input/event2: EV_ABS ABS_MT_TRACKING_ID 0000027c
[ 3750.315336] /dev/input/event2: EV_ABS ABS_MT_POSITION_X 00000318
[ 3750.315336] /dev/input/event2: EV_ABS ABS_MT_POSITION_Y 00000104
[ 3750.315336] /dev/input/event2: EV_ABS ABS_MT_PRESSURE 00000071
[ 3750.315336] /dev/input/event2: EV_SYN SYN_REPORT 00000000 rate 120
[ 3750.329214] /dev/input/event2: EV_ABS ABS_MT_PRESSURE 00000075
[ 3750.329214] /dev/input/event2: EV_SYN SYN_REPORT 00000000 rate 72
[ 3750.343087] /dev/input/event2: EV_ABS ABS_MT_PRESSURE 00000077
[ 3750.343087] /dev/input/event2: EV_SYN SYN_REPORT 00000000 rate 72
[ 3750.378471] /dev/input/event2: EV_ABS ABS_MT_PRESSURE 0000007b
[ 3750.378471] /dev/input/event2: EV_SYN SYN_REPORT 00000000 rate 28
[ 3750.397764] /dev/input/event2: EV_ABS ABS_MT_PRESSURE 0000007a
[ 3750.397764] /dev/input/event2: EV_SYN SYN_REPORT 00000000 rate 51
[ 3750.457499] /dev/input/event2: EV_ABS ABS_MT_TRACKING_ID ffffffff
[ 3750.457499] /dev/input/event2: EV_SYN SYN_REPORT 00000000 rate 16
有power key,同时还有点击的信息。对比vc,vx的点击事件信息还有所区别,信息更多,但是都会power key ,再处理 touch。

04-28 14:34:39.534 1043 1715 D InputDispatcher: notifyKey - eventTime=3881539812000, deviceId=2, source=0x101, displayId=-1policyFlags=0x0, action=0x0, flags=0x8, keyCode=0x1a, scanCode=0x74, metaState=0x0, downTime=3881539812000
04-28 14:34:39.541 1043 1714 D InputDispatcher: Dropped event because policy consumed it.
04-28 14:34:39.562 1043 1715 D InputDispatcher: notifyKey - eventTime=3881540752000, deviceId=2, source=0x101, displayId=-1policyFlags=0x0, action=0x1, flags=0x8, keyCode=0x1a, scanCode=0x74, metaState=0x0, downTime=3881539812000
04-28 14:34:39.563 1043 1714 D InputDispatcher: Dropped event because policy consumed it.
04-28 14:34:39.618 1043 1715 D InputDispatcher: notifyDeviceReset - eventTime=3881657863205, deviceId=4
04-28 14:34:39.618 1043 1715 D InputDispatcher: notifyDeviceReset - eventTime=3881657863205, deviceId=2
04-28 14:34:39.671 1043 1715 D InputDispatcher: notifyMotion - id=4c66316 eventTime=3881548612000, deviceId=2, source=0x5002, displayId=0, policyFlags=0x0, action=0x0, actionButton=0x0, flags=0x0, metaState=0x0, buttonState=0x0, edgeFlags=0x0, xPrecision=1.000000, yPrecision=1.000000, xCursorPosition=nan, yCursorPosition=nan, downTime=3881548612000
04-28 14:34:39.671 1043 1715 D InputDispatcher: Pointer 0: id=0, toolType=1, x=800.000000, y=259.000000, pressure=0.349020, size=0.000000, touchMajor=0.000000, touchMinor=0.000000, toolMajor=0.000000, toolMinor=0.000000, orientation=0.000000
04-28 14:34:39.692 1043 1715 D InputDispatcher: notifyMotion - id=372f9736 eventTime=3881559441000, deviceId=2, source=0x5002, displayId=0, policyFlags=0x0, action=0x2, actionButton=0x0, flags=0x0, metaState=0x0, buttonState=0x0, edgeFlags=0x0, xPrecision=1.000000, yPrecision=1.000000, xCursorPosition=nan, yCursorPosition=nan, downTime=3881548612000
04-28 14:34:39.692 1043 1715 D InputDispatcher: Pointer 0: id=0, toolType=1, x=801.000000, y=259.000000, pressure=0.396078, size=0.000000, touchMajor=0.000000, touchMinor=0.000000, toolMajor=0.000000, toolMinor=0.000000, orientation=0.000000
04-28 14:34:39.715 1043 1715 D InputDispatcher: notifyMotion - id=29e6a7a4 eventTime=3881573261000, deviceId=2, source=0x5002, displayId=0, policyFlags=0x0, action=0x2, actionButton=0x0, flags=0x0, metaState=0x0, buttonState=0x0, edgeFlags=0x0, xPrecision=1.000000, yPrecision=1.000000, xCursorPosition=nan, yCursorPosition=nan, downTime=3881548612000
04-28 14:34:39.715 1043 1715 D InputDispatcher: Pointer 0: id=0, toolType=1, x=801.000000, y=259.000000, pressure=0.431373, size=0.000000, touchMajor=0.000000, touchMinor=0.000000, toolMajor=0.000000, toolMinor=0.000000, orientation=0.000000
04-28 14:34:39.769 1043 1715 D InputDispatcher: notifyMotion - id=f2ccef eventTime=3881590483000, deviceId=2, source=0x5002, displayId=0, policyFlags=0x0, action=0x2, actionButton=0x0, flags=0x0, metaState=0x0, buttonState=0x0, edgeFlags=0x0, xPrecision=1.000000, yPrecision=1.000000, xCursorPosition=nan, yCursorPosition=nan, downTime=3881548612000
04-28 14:34:39.769 1043 1715 D InputDispatcher: Pointer 0: id=0, toolType=1, x=802.000000, y=259.000000, pressure=0.454902, size=0.000000, touchMajor=0.000000, touchMinor=0.000000, toolMajor=0.000000, toolMinor=0.000000, orientation=0.000000
04-28 14:34:39.791 1043 1715 D InputDispatcher: notifyMotion - id=5e4afc5 eventTime=3881600625000, deviceId=2, source=0x5002, displayId=0, policyFlags=0x0, action=0x2, actionButton=0x0, flags=0x0, metaState=0x0, buttonState=0x0, edgeFlags=0x0, xPrecision=1.000000, yPrecision=1.000000, xCursorPosition=nan, yCursorPosition=nan, downTime=3881548612000
04-28 14:34:39.791 1043 1715 D InputDispatcher: Pointer 0: id=0, toolType=1, x=803.000000, y=259.000000, pressure=0.470588, size=0.000000, touchMajor=0.000000, touchMinor=0.000000, toolMajor=0.000000, toolMinor=0.000000, orientation=0.000000
04-28 14:34:39.810 1043 1715 D InputDispatcher: notifyMotion - id=edac30a eventTime=3881616891000, deviceId=2, source=0x5002, displayId=0, policyFlags=0x0, action=0x2, actionButton=0x0, flags=0x0, metaState=0x0, buttonState=0x0, edgeFlags=0x0, xPrecision=1.000000, yPrecision=1.000000, xCursorPosition=nan, yCursorPosition=nan, downTime=3881548612000
04-28 14:34:39.810 1043 1715 D InputDispatcher: Pointer 0: id=0, toolType=1, x=803.000000, y=259.000000, pressure=0.478431, size=0.000000, touchMajor=0.000000, touchMinor=0.000000, toolMajor=0.000000, toolMinor=0.000000, orientation=0.000000
04-28 14:34:39.827 1043 1715 D InputDispatcher: notifyMotion - id=3e09f3e4 eventTime=3881628389000, deviceId=2, source=0x5002, displayId=0, policyFlags=0x0, action=0x2, actionButton=0x0, flags=0x0, metaState=0x0, buttonState=0x0, edgeFlags=0x0, xPrecision=1.000000, yPrecision=1.000000, xCursorPosition=nan, yCursorPosition=nan, downTime=3881548612000
04-28 14:34:39.827 1043 1715 D InputDispatcher: Pointer 0: id=0, toolType=1, x=804.000000, y=259.000000, pressure=0.482353, size=0.000000, touchMajor=0.000000, touchMinor=0.000000, toolMajor=0.000000, toolMinor=0.000000, orientation=0.000000
04-28 14:34:39.842 1043 1715 D InputDispatcher: notifyMotion - id=168e1dee eventTime=3881672758000, deviceId=2, source=0x5002, displayId=0, policyFlags=0x0, action=0x2, actionButton=0x0, flags=0x0, metaState=0x0, buttonState=0x0, edgeFlags=0x0, xPrecision=1.000000, yPrecision=1.000000, xCursorPosition=nan, yCursorPosition=nan, downTime=3881548612000
04-28 14:34:39.842 1043 1715 D InputDispatcher: Pointer 0: id=0, toolType=1, x=805.000000, y=259.000000, pressure=0.482353, size=0.000000, touchMajor=0.000000, touchMinor=0.000000, toolMajor=0.000000, toolMinor=0.000000, orientation=0.000000
04-28 14:34:39.856 1043 1715 D InputDispatcher: notifyMotion - id=2d82ac51 eventTime=3881685627000, deviceId=2, source=0x5002, displayId=0, policyFlags=0x0, action=0x2, actionButton=0x0, flags=0x0, metaState=0x0, buttonState=0x0, edgeFlags=0x0, xPrecision=1.000000, yPrecision=1.000000, xCursorPosition=nan, yCursorPosition=nan, downTime=3881548612000
04-28 14:34:39.856 1043 1715 D InputDispatcher: Pointer 0: id=0, toolType=1, x=806.000000, y=259.000000, pressure=0.443137, size=0.000000, touchMajor=0.000000, touchMinor=0.000000, toolMajor=0.000000, toolMinor=0.000000, orientation=0.000000
04-28 14:34:39.871 1043 1715 D InputDispatcher: notifyMotion - id=4718f6f eventTime=3881740260000, deviceId=2, source=0x5002, displayId=0, policyFlags=0x0, action=0x1, actionButton=0x0, flags=0x0, metaState=0x0, buttonState=0x0, edgeFlags=0x0, xPrecision=1.000000, yPrecision=1.000000, xCursorPosition=nan, yCursorPosition=nan, downTime=3881548612000
04-28 14:34:39.871 1043 1715 D InputDispatcher: Pointer 0: id=0, toolType=1, x=806.000000, y=259.000000, pressure=0.443137, size=0.000000, touchMajor=0.000000, touchMinor=0.000000, toolMajor=0.000000, toolMinor=0.000000, orientation=0.000000

5、处理建议

根据点击亮屏的实现来看是在锁屏下,正常点击事件时,强制模拟写入了一个power key,以完成亮屏的功能。
但是这个时候应该将后续的touch或者屏幕的正常事件进行拦截不再写入文件节点中,以此来达到用power key取代touch,而不是
在touch之前插入power key。不然让InputDispatcher继续处理touch必然会因为前面强制写入的power key,引起状态的异常。

【】下一步
@杜磊,需要bsp的同事跟进下该问题。
是否可以用power key 取代touch而不是在touch之前插入。

#3 Updated by CD FW王武军 about 2 years ago

  • Category changed from CD-FW to BSP
  • Assignee changed from CD FW王武军 to CD BSP-杜磊

#4 Updated by CD BSP-杜磊 about 2 years ago

  • % Done changed from 0 to 40
  • Root cause set to 使用TP模式powerkey,在唤醒屏幕时,TP会持续报点,导致误触点击app

#5 Updated by CD BSP-杜磊 about 2 years ago

  • % Done changed from 40 to 70

#6 Updated by CD BSP-杜磊 about 2 years ago

5/15 VB验证失败,本地代码修改,验证中

#7 Updated by CD BSP-杜磊 about 2 years ago

  • Status changed from ASSIGNED to NEED_INFO
  • Assignee changed from CD BSP-杜磊 to 移动测试一组_CDTS 刘强
  • % Done changed from 70 to 90

#8 Updated by IoT scm about 2 years ago

Gerrit Merge Information
ID Project Branch Uploader
199224 general/kernel/msm-4.19 Pre_figure_turbox-c2130c-la1.1-vendor-dev
BSP:TP: Optimize touch wake-up system
When touch wake-up system, delay 1s to
report coordinates
TC-RID: 1201-0100401
IssueID: TS-R-DF-117763
Change-Id: I96987328cba0ed6021173942fb164f4d03da5384

#10 Updated by CD BSP-杜磊 about 2 years ago

  • Status changed from NEED_INFO to RESOLVED
  • Assignee changed from CD BSP-杜磊 to 移动测试一组_CDTS 刘强
  • % Done changed from 90 to 100
  • Resolution changed from -- to FIXED
  • Root cause changed from 使用TP模式powerkey,在唤醒屏幕时,TP会持续报点,导致误触点击app to 使用TP模拟powerkey,在唤醒屏幕时,TP会持续报点,导致误触点击app

代码已入库,请使用DB版本验证后,close此问题

#11 Updated by IoT scm about 2 years ago

Gerrit Merge Information
ID Project Branch Uploader
200820 general/kernel/msm-4.19 Pre_figure_turbox-c2130c-la1.1-vendor-dev
BSP:TP: Optimize touch wake-up system2
When tp driver first probe, need set panel on
TC-RID: 1201-0100401
IssueID: TS-R-DF-117763
Change-Id: I50d7631bd11ada6a568118f74c2d3f7ed8eabac7

#12 Updated by 物联网测试组_TSCD 王维 about 2 years ago

  • Verified Version set to FlatBuild_HH_MCE_FSE.M.R.user.01.00.0101.C103(X103)

VX1和VC1均已验证,未复现

#13 Updated by 物联网测试组_TSCD 王维 about 2 years ago

  • Status changed from RESOLVED to VERIFIED

#14 Updated by 物联网测试组_TSCD 王维 about 2 years ago

  • Status changed from VERIFIED to CLOSED

Also available in: Atom PDF