Bug #115181
【BSP】【EVT2】【1/10】快速向右滑动音量,不能够滑动到100%
Status: | CLOSED | Start date: | 2023-01-09 | ||
---|---|---|---|---|---|
Priority: | High | Due date: | 2023-02-14 | ||
Assignee: | 移动测试一组_CDTS 刘强 | % Done: | 10% | ||
Category: | CD-FW | ||||
Target version: | - | ||||
Need_Info: | -- | Found Version: | FlatBuild_HH_VX1_MCE_FSE.M.D.user.01.00.X101.202301080304 | ||
Resolution: | FIXED | Degrated: | -- | ||
Severity: | Major | Verified Version: | |||
Reproducibility: | Occasionally | Fixed Version: | |||
Test Type: | ST | Root cause: | 从EventHub读取的坐标没有问题,但是在android_view_InputEventReceiver.cpp#consumeEvents转化坐标时出现了异常,由于JNI层调查困难,直接在上层规避此问题 |
Description
【前提条件】
1.设备刷机
2."开发者选项”->开启"显示点按操作反馈"和开启"指针位置"
【测试步骤】
1.快速向右滑动"音量"进度条从静音到100%(0.6秒)内完成
【预期结果】
1.音量能够滑动至100%
【实际结果】
1.低概率出现,滑动到95%(见截图),且触点已超过音量进度条。偶现跳转到100%后又跳转会95%
【复现概率】
低概率
History
#1 Updated by CD BSP-杜磊 over 2 years ago
- Status changed from New to ASSIGNED
- Assignee changed from CD BSP-杜磊 to CD FW詹朝林
#2 Updated by CD BSP-杜磊 over 2 years ago
- Assignee changed from CD FW詹朝林 to CD FW 曹覃刚
#3 Updated by CD FW 曹覃刚 over 2 years ago
- Due date set to 2023-01-20
- Category changed from BSP to CD-FW
#4 Updated by CD FW 曹覃刚 over 2 years ago
- Due date changed from 2023-01-20 to 2023-02-03
#5 Updated by CD FW 曹覃刚 over 2 years ago
■ 当前的状态
1.当滑动速度过快时会出现这个问题
2.不仅限于音量的调节,测试过三方应用的seekbar,有同样的问题
■ 分析过程
seekbar的共通问题, 猜测可能是由如下原因导致
硬件或硬件驱动存在问题,导致上传的move事件存在问题,大概率
■ 下一步解析计划
定位问题的原因
#6 Updated by CD FW 曹覃刚 over 2 years ago
- Category changed from CD-FW to BSP
- Assignee changed from CD FW 曹覃刚 to CD BSP-杜磊
Hi 磊哥
■ 问题发生的条件
1.当滑动速度过快时会出现这个问题
2.不仅限于音量的调节,测试过三方应用的seekbar,有同样的问题,这与上层view的实现没有关系
■ 我的分析
通过复写seekbar的事件分发方法,得到下列日志
正常时:
normal:
01-12 18:41:27.285 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_DOWN, actionButton=0, id0=0, x0=577.0, y0=33.0, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=69018806, downTime=69018806, deviceId=3, source=0x5002, displayId=0, eventId=86322370 }
01-12 18:41:27.300 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_MOVE, actionButton=0, id0=0, x0=577.0, y0=33.0, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=1, eventTime=69018818, downTime=69018806, deviceId=3, source=0x5002, displayId=0, eventId=520207177 }
01-12 18:41:27.325 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_MOVE, actionButton=0, id0=0, x0=581.92175, y0=31.769562, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=2, eventTime=69018846, downTime=69018806, deviceId=3, source=0x5002, displayId=0, eventId=807356331 }
01-12 18:41:27.348 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_MOVE, actionButton=0, id0=0, x0=597.5467, y0=29.408875, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=1, eventTime=69018869, downTime=69018806, deviceId=3, source=0x5002, displayId=0, eventId=799919784 }
01-12 18:41:27.368 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_MOVE, actionButton=0, id0=0, x0=618.82794, y0=26.90799, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=2, eventTime=69018886, downTime=69018806, deviceId=3, source=0x5002, displayId=0, eventId=597182299 }
01-12 18:41:27.385 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_MOVE, actionButton=0, id0=0, x0=649.58984, y0=24.472809, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=1, eventTime=69018902, downTime=69018806, deviceId=3, source=0x5002, displayId=0, eventId=859824179 }
01-12 18:41:27.398 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_MOVE, actionButton=0, id0=0, x0=714.16064, y0=23.517487, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=1, eventTime=69018919, downTime=69018806, deviceId=3, source=0x5002, displayId=0, eventId=526459506 }
01-12 18:41:27.415 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_MOVE, actionButton=0, id0=0, x0=792.7516, y0=24.0, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=1, eventTime=69018936, downTime=69018806, deviceId=3, source=0x5002, displayId=0, eventId=578206172 }
01-12 18:41:27.431 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_MOVE, actionButton=0, id0=0, x0=885.75085, y0=26.721191, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=1, eventTime=69018953, downTime=69018806, deviceId=3, source=0x5002, displayId=0, eventId=111520845 }
01-12 18:41:27.448 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_MOVE, actionButton=0, id0=0, x0=994.51575, y0=32.83423, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=2, eventTime=69018970, downTime=69018806, deviceId=3, source=0x5002, displayId=0, eventId=324499859 }
01-12 18:41:27.465 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_MOVE, actionButton=0, id0=0, x0=1090.9684, y0=41.589874, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=1, eventTime=69018986, downTime=69018806, deviceId=3, source=0x5002, displayId=0, eventId=812945960 }
01-12 18:41:27.498 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_MOVE, actionButton=0, id0=0, x0=1138.0, y0=48.0, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=69019003, downTime=69018806, deviceId=3, source=0x5002, displayId=0, eventId=116898864 }
01-12 18:41:27.524 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_UP, actionButton=0, id0=0, x0=1138.0, y0=48.0, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=69019051, downTime=69018806, deviceId=3, source=0x5002, displayId=0, eventId=796325273 }
问题发生时:
01-12 18:40:34.512 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_DOWN, actionButton=0, id0=0, x0=608.0, y0=34.0, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=68966032, downTime=68966032, deviceId=3, source=0x5002, displayId=0, eventId=494344280 }
01-12 18:40:34.538 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_MOVE, actionButton=0, id0=0, x0=608.0, y0=34.0, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=2, eventTime=68966059, downTime=68966032, deviceId=3, source=0x5002, displayId=0, eventId=205377627 }
01-12 18:40:34.554 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_MOVE, actionButton=0, id0=0, x0=608.0, y0=32.76999, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=1, eventTime=68966075, downTime=68966032, deviceId=3, source=0x5002, displayId=0, eventId=494868632 }
01-12 18:40:34.571 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_MOVE, actionButton=0, id0=0, x0=608.0, y0=32.76999, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=1, eventTime=68966092, downTime=68966032, deviceId=3, source=0x5002, displayId=0, eventId=176140587 }
01-12 18:40:34.587 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_MOVE, actionButton=0, id0=0, x0=608.0, y0=32.76999, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=1, eventTime=68966109, downTime=68966032, deviceId=3, source=0x5002, displayId=0, eventId=165854478 }
01-12 18:40:34.604 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_MOVE, actionButton=0, id0=0, x0=629.1369, y0=39.406036, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=2, eventTime=68966125, downTime=68966032, deviceId=3, source=0x5002, displayId=0, eventId=366882695 }
01-12 18:40:34.638 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_MOVE, actionButton=0, id0=0, x0=800.3111, y0=67.27191, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=2, eventTime=68966160, downTime=68966032, deviceId=3, source=0x5002, displayId=0, eventId=1070325658 }
01-12 18:40:34.655 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_MOVE, actionButton=0, id0=0, x0=925.511, y0=76.897095, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=1, eventTime=68966176, downTime=68966032, deviceId=3, source=0x5002, displayId=0, eventId=861998327 }
01-12 18:40:34.673 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_MOVE, actionButton=0, id0=0, x0=1084.4767, y0=82.56378, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=2, eventTime=68966193, downTime=68966032, deviceId=3, source=0x5002, displayId=0, eventId=1058644787 }
01-12 18:40:34.688 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_MOVE, actionButton=0, id0=0, x0=1238.4961, y0=85.83948, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=1, eventTime=68966209, downTime=68966032, deviceId=3, source=0x5002, displayId=0, eventId=274929179 }
01-12 18:40:34.705 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_MOVE, actionButton=0, id0=0, x0=1414.0, y0=101.5, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=1, eventTime=68966225, downTime=68966032, deviceId=3, source=0x5002, displayId=0, eventId=286953440 }
01-12 18:40:34.722 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_MOVE, actionButton=0, id0=0, x0=1545.5, y0=127.5, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=1, eventTime=68966243, downTime=68966032, deviceId=3, source=0x5002, displayId=0, eventId=127277533 }
01-12 18:40:34.762 16921 16921 D cqg0129 : TestSeekBar onTouchEvent event = MotionEvent { action=ACTION_UP, actionButton=0, id0=0, x0=1478.0, y0=117.0, toolType0=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=68966288, downTime=68966032, deviceId=3, source=0x5002, displayId=0, eventId=24245025 }
差异点在于,滑动后离开屏幕的点(ACTION_UP),相较于前一个点的位置。(由于是水平向右滑动,主要检查X坐标的点位)
正常时->ACTION_UP的X坐标点与前一个ACTION_MOVE的X坐标点相同或者差距很小
异常时->ACTION_UP的X坐标点与前一个ACTION_MOVE的X坐标点,差距较大,有几十的像素点,且小于前一个ACTION_MOVE的X点。 这个导致了跳转回到之前点位的问题
结合发生的条件以及分析
滑动过快时,上报滑动事件的坐标点存在异常
■ 下一步解析计划
请BSP的同学帮助检查,滑动过快时,上报事件坐标点异常的问题
#7 Updated by CD BSP-杜磊 over 2 years ago
- Assignee changed from CD BSP-杜磊 to CD FW 曹覃刚
- % Done changed from 0 to 10
HI, 覃刚,
通过adb shell getevent -rlt 来查看tp的上报坐标,发生此问题时,未出现tp掉点,且x轴坐标是一直变大的,未出现跳点。帮忙查看上层android是否有对坐标做处理。
[ 2273.859351] /dev/input/event2: EV_KEY BTN_TOUCH DOWN
[ 2273.859351] /dev/input/event2: EV_SYN SYN_REPORT 00000000 rate 1
[ 2273.866088] /dev/input/event2: EV_ABS ABS_MT_POSITION_X 000007d6
[ 2273.866088] /dev/input/event2: EV_ABS ABS_MT_POSITION_Y 00000198
[ 2273.866088] /dev/input/event2: EV_SYN SYN_REPORT 00000000 rate 148
[ 2273.876309] /dev/input/event2: EV_ABS ABS_MT_POSITION_X 000007ec
[ 2273.876309] /dev/input/event2: EV_ABS ABS_MT_POSITION_Y 00000195
[ 2273.876309] /dev/input/event2: EV_SYN SYN_REPORT 00000000 rate 97
[ 2273.886796] /dev/input/event2: EV_ABS ABS_MT_POSITION_X 00000822
[ 2273.886796] /dev/input/event2: EV_ABS ABS_MT_POSITION_Y 0000018d
[ 2273.886796] /dev/input/event2: EV_SYN SYN_REPORT 00000000 rate 95
[ 2273.897388] /dev/input/event2: EV_ABS ABS_MT_POSITION_X 0000086b
[ 2273.897388] /dev/input/event2: EV_ABS ABS_MT_POSITION_Y 00000186
[ 2273.897388] /dev/input/event2: EV_SYN SYN_REPORT 00000000 rate 94
[ 2273.907823] /dev/input/event2: EV_ABS ABS_MT_POSITION_X 000008c2
[ 2273.907823] /dev/input/event2: EV_ABS ABS_MT_POSITION_Y 0000017f
[ 2273.907823] /dev/input/event2: EV_SYN SYN_REPORT 00000000 rate 95
[ 2273.918308] /dev/input/event2: EV_ABS ABS_MT_POSITION_X 00000925
[ 2273.918308] /dev/input/event2: EV_SYN SYN_REPORT 00000000 rate 95
[ 2273.928653] /dev/input/event2: EV_ABS ABS_MT_POSITION_X 00000991
[ 2273.928653] /dev/input/event2: EV_ABS ABS_MT_POSITION_Y 00000184
[ 2273.928653] /dev/input/event2: EV_SYN SYN_REPORT 00000000 rate 96
[ 2273.965899] /dev/input/event2: EV_ABS ABS_MT_TRACKING_ID ffffffff
[ 2273.965899] /dev/input/event2: EV_KEY BTN_TOUCH UP
[ 2273.965899] /dev/input/event2: EV_SYN SYN_REPORT 00000000 rate 26
#8 Updated by CD FW 曹覃刚 over 2 years ago
- Category changed from BSP to CD-FW
#9 Updated by CD FW 曹覃刚 over 2 years ago
- Due date changed from 2023-02-03 to 2023-02-09
#10 Updated by CD FW 曹覃刚 over 2 years ago
- Due date changed from 2023-02-09 to 2023-02-14
- Assignee changed from CD FW 曹覃刚 to CD FW-鲁凯峰
#11 Updated by CD FW-鲁凯峰 over 2 years ago
■ Current conclusion
问题已经解决
■ My analysis
从EventHub读取的坐标没有问题,但是在android_view_InputEventReceiver.cpp#consumeEvents转化坐标时出现了异常,由于JNI层调查困难,直接在上层规避此问题
不在AbsSeekBar的ACTION_UP事件中处理坐标来更新SeekBar的Progress
■ Submit URL
https://dev.thundercomm.com/gerrit/c/general/platform/frameworks/base/+/180600
#12 Updated by IoT scm over 2 years ago
ID | Project | Branch | Uploader |
180600 | general/platform/frameworks/base | Pre_figure_turbox-c2130c-la1.1-qssi12-dev | lukf0916@thundersoft.com |
AF:QuickSettings: fix seekbar scroll back when fast moving seekbar, it will fall back TC-RID: 1201-0201903 IssueID: TS-R-BUG-115181 Change-Id: I1751b436b0bf70ab253f6ddbf593e28773605f51 |
#13 Updated by CD FW-鲁凯峰 over 2 years ago
- Status changed from ASSIGNED to RESOLVED
- Assignee changed from CD FW-鲁凯峰 to CDTS_TEST 刘勇
- Resolution changed from -- to FIXED
- Root cause set to 从EventHub读取的坐标没有问题,但是在android_view_InputEventReceiver.cpp#consumeEvents转化坐标时出现了异常,由于JNI层调查困难,直接在上层规避此问题
#14 Updated by CDTS_TEST 王成 over 2 years ago
- Assignee changed from CDTS_TEST 刘勇 to 移动测试一组_CDTS 刘强
#15 Updated by 移动测试一组_CDTS 刘强 over 2 years ago
- File screen-20230215-021223.mp4 added
- Status changed from RESOLVED to VERIFY_FAILED
- Assignee changed from 移动测试一组_CDTS 刘强 to CD FW-鲁凯峰
验证版本:FlatBuild_HH_VX1_MCE_FSE.M.D.user.01.00.X101.202302150106
验证结果:仍然复现
详情见附件视频最后一次验证
#16 Updated by CD FW 曹覃刚 over 2 years ago
- Assignee changed from CD FW-鲁凯峰 to 移动测试一组_CDTS 刘强
Hi 强哥
问题本身现象,回弹的问题已经修复
视频中滑动位置与蓝色轨迹偶尔有差距的现象是正常的,且无法改善的,基于下列原因
1.对比联想的板子,一样的有这个现象,是原生现象,请参考飞书提供给您的截图
2.用户根本无法感知到这一现象,对用户的使用没有任何影响
3.这一现象发生的条件,需要快速滑动,即使快速滑动,也很少会出现
#17 Updated by 移动测试一组_CDTS 刘强 over 2 years ago
- Status changed from VERIFY_FAILED to VERIFIED
根据以上验证结果和RD备注,回弹问题已经修复,关闭此issue
#18 Updated by 移动测试一组_CDTS 刘强 over 2 years ago
- Status changed from VERIFIED to CLOSED