Bug #116842

测试 Test-ST #111337: ST测试总票

测试 Test-ST #116840: 中控联调测试-AF

【AF】【EVT】【音量调节】副屏连接中控后,从副屏处设置-音量调节条调节副屏音量(先调节至0,在升高),会回弹至0

Added by CD TEST-方永红 over 2 years ago. Updated about 2 years ago.

Status:CLOSEDStart date:2023-03-09
Priority:NormalDue date:
Assignee:物联网测试组_TSCD 王维% Done:

0%

Category:AUDIO-FW
Target version:-
Need_Info:-- Found Version:FlatBuild_HH_MCE_FSE.M.R.user.01.00.0081.C101
Resolution:FIXED Degrated:No
Severity:Normal Verified Version:
Reproducibility:Every time Fixed Version:2023-03-16
Test Type:ST Root cause:音量调节静音与非静音切换时,会多一个信息,导致与中控同步时消息阻塞。

Description

【前提条件】
1、设备正常启动

【测试步骤】
1、副屏连接中控
2.打开副屏设置-声音
3.从副屏设置中的音量调节条调节音量至0
4.从副屏设置中心调节音量

【预期结果】
1、可以正常调节音量

【实际结果】
1、从0调节音量会回弹至0

1651.txt Magnifier (3.27 MB) CD TEST-方永红, 2023-03-09 16:52

logcat.txt Magnifier (804 KB) CD Test赵飞, 2023-04-06 17:56

screen-20221111-010102.mp4 (1.8 MB) CD Test赵飞, 2023-04-06 17:56

History

#1 Updated by CD TEST-方永红 over 2 years ago

  • Parent task changed from #111053 to #116840

#2 Updated by Multimedia组-RD3_TSCD 梁卿山 over 2 years ago

  • Status changed from New to ASSIGNED

Hi All,
■ 当前分析

926:03-12 01:30:43.526 1087 2158 D AudioIDCMicroNegotiator: idcm_common:requestResult method = setMute parameters = {"functionInfo":{"IDCM_VolumeMute_Media":"mute_on"}}
927:03-12 01:30:43.526 1087 2158 I MicroServiceManager: requestResult(setMute) parameters is{"functionInfo":{"IDCM_VolumeMute_Media":"mute_on"}}.
949:03-12 01:30:43.745 1087 2158 D AS.AudioService: idcm_volume:setIDCMicroVolume(stream=3, index=17, calling=com.android.settings)
950:03-12 01:30:43.745 1087 2158 D AudioIDCMicroNegotiator: idcm_volume:setIDCMicroVolume
951:03-12 01:30:43.745 1087 2158 D AudioIDCMicroNegotiator: idcm_common:requestResult method = setVolume parameters = {"functionInfo":{"IDCM_VolumeValue_Media":"17"}}
952:03-12 01:30:43.745 1087 2158 I MicroServiceManager: requestResult(setVolume) parameters is{"functionInfo":{"IDCM_VolumeValue_Media":"17"}}.
969:03-12 01:30:43.817 1087 5159 D AS.AudioService: idcm_volume:onSetIDCMicroAudioMute: mute_off
983:03-12 01:30:44.346 1087 2158 D AudioIDCMicroNegotiator: idcm_volume:setIDCMicroVolume return null ★★★
984:03-12 01:30:44.346 1087 2158 W AS.AudioService: idcm_warn: fail to set Vol: 17, respone: null ★★★
985:03-12 01:30:44.347 1087 2158 W AS.AudioService: idcm_warn: exception: java.lang.Exception: fail to set Vol: 17 ★★★
1027:03-12 01:30:44.430 1087 2158 D AS.AudioService: idcm_volume:==> use the old index: 0 isStreamMute = false
1035:03-12 01:30:44.463 1087 5460 D AudioIDCMicroNegotiator: idcm_volume:onSetIDCMicroVolume mIsTimeout= true value = 17 isRequested=true ★★★

当音量从0,调节到17时,主屏收到了调节的通知并调节了音量,但是没有通知副屏,导致副屏音量保持了原状。

■ 下一步
咨询中控的开发者进行复现。

#3 Updated by Multimedia组-RD3_TSCD 梁卿山 over 2 years ago

  • Category changed from AUDIO-FW to CD-FW
  • Assignee changed from Multimedia组-RD3_TSCD 梁卿山 to CD FW-程天颖

Hi 天颖,
■ 当前分析
当前遇到两个问题:
1.在调节音量为0后,再去将音量调节至大于0时,会给中控发送mute on/off。
该行为经过调查,在调节为0后,direction会传递AudioManager.ADJUST_MUTE(-100)或AudioManager.ADJUST_UNMUTE(100),
这个是mute on/off的状态,当前副屏不能传递该参数,需要FW的同学来修改。

1713:03-12 01:56:14.239 1076 1601 D AS.AudioService: adjustStreamVolume() stream=3, dir=100, flags=0, caller=com.android.settings ★★★
1715:03-12 01:56:14.240 1076 1601 W System.err: java.lang.Exception
1716:03-12 01:56:14.240 1076 1601 W System.err: at com.android.server.audio.AudioIDCMicroNegotiator.setIDCMicroAudioMute(AudioIDCMicroNegotiator.java:657)
1717:03-12 01:56:14.241 1076 1601 W System.err: at com.android.server.audio.AudioService.setIDCMicroAudioMute(AudioService.java:10876)
1718:03-12 01:56:14.241 1076 1601 W System.err: at com.android.server.audio.AudioService.adjustStreamVolume(AudioService.java:2995)
1719:03-12 01:56:14.241 1076 1601 W System.err: at com.android.server.audio.AudioService.adjustStreamVolume(AudioService.java:2845) ★★★

2.音量调节为0后,再去将音量调节至大于0时,音量条会反弹回至0;
该问题分析之后,发现在音量调节为20时,中控音量已经变化,并且通知到副屏,但是MicroService的onResponse未能回调到AudioIDCMicroNegotiator中的方法中。

1782:03-12 01:56:14.625 1076 2242 I MicroServiceManager: requestResult(setVolume) parameters is{"functionInfo":{"IDCM_VolumeValue_Media":"20"}}.
...
1802:03-12 01:56:14.670 2267 2353 D MicroService: getEvent: clientSocket = Socket[address=/192.168.4.4,port=46908,localPort=9999]
1803:03-12 01:56:14.670 2267 2353 D MicroService: run: called
1804:03-12 01:56:14.671 2267 2353 D MicroService: getEvent: start waiting...
1805:03-12 01:56:14.671 2267 5242 I MicroService: getStringByData(noZero): IDCM_CarAudioService
1806:03-12 01:56:14.672 2267 5242 I MicroService: getStringByData(noZero): FSEM_AudioService
1807:03-12 01:56:14.672 2267 5242 I MicroService: getStringByData: {"srcService":"IDCM_CarAudioService","dstService":"FSEM_AudioService","methodName":"setVolume","messageType":1,"uuid":1678557374626516769,"parameters":{"functionInfo":{"IDCM_VolumeValue_Media":"20"}}}
1808:03-12 01:56:14.672 2267 5242 I MicroService: Receive message: SocketMessageBean{businessData='21930', srcService='IDCM_CarAudioService', destService='FSEM_AudioService', messageType='1', uuid='1678557374626516769', payloadData={"srcService":"IDCM_CarAudioService","dstService":"FSEM_AudioService","methodName":"setVolume","messageType":1,"uuid":1678557374626516769,"parameters":{"functionInfo":{"IDCM_VolumeValue_Media":"20"}}}}
1809:03-12 01:56:14.672 2267 5242 I MicroService: dealMessage: 1
1810:03-12 01:56:14.672 2267 5242 I MicroService: onResponse(setVolume): {"functionInfo":{"IDCM_VolumeValue_Media":"20"}} ★★★
1832:03-12 01:56:15.327 1076 2242 D AudioIDCMicroNegotiator: idcm_volume:setIDCMicroVolume return null ★★★

■ 下一步

麻烦FW的同学调查一下,谢谢

#4 Updated by CD FW-程天颖 over 2 years ago

  • Assignee changed from CD FW-程天颖 to CD FW-廖涛

#5 Updated by CD FW-廖涛 over 2 years ago

■ Current conclusion
处理验证完成。

■ My analysis
经过分析,Settings 中的 Seekbar 会绑定到 android.preference.SeekBarVolumizer 中进行音量设置同步,当调节到 0 或者从 0 调节到大于 0 的值时,会调用方法 adjustStreamVolume,发送 direction 为 AudioManager.ADJUST_UNMUTE 或 AudioManager.ADJUST_MUTE 的信号给中控。代码如下:

if (mMuted && mLastProgress > 0) {
    mAudioManager.adjustStreamVolume(mStreamType, AudioManager.ADJUST_UNMUTE, 0);
} else if (!mMuted && mLastProgress == 0) {
    mAudioManager.adjustStreamVolume(mStreamType, AudioManager.ADJUST_MUTE, 0);
}

mAudioManager.setStreamVolume(mStreamType, mLastProgress,
                        AudioManager.FLAG_SHOW_UI_WARNINGS);

因中控不支持这两个信息,所以在上层去掉这里的逻辑,有 Audio 来处理。

问题 2 产生的原因是,多条消息串行处理导致处理超时,去掉 Mute 信号后仅存在一条消息,所以问题 2 也同步处理掉。

■ Next action
提交代码。

#6 Updated by IoT scm over 2 years ago

Gerrit Merge Information
ID Project Branch Uploader
187769 general/platform/frameworks/base Pre_figure_turbox-c2130c-la1.1-qssi12-dev
AF:Settings: Fix volume adjust problem when connect to IDCM.
TC-RID: 1201-0201805
IssueID: TS-R-BUG-116842
Change-Id: I3e99f27f56d088b9864fa318b7abe05745c0275d

#7 Updated by CD FW-廖涛 over 2 years ago

  • Status changed from ASSIGNED to RESOLVED
  • Assignee changed from CD FW-廖涛 to CD TEST-方永红
  • % Done changed from 0 to 100
  • Resolution changed from -- to FIXED
  • Degrated changed from -- to No
  • Fixed Version set to 2023-03-16
  • Root cause set to 音量调节静音与非静音切换时,会多一个信息,导致与中控同步时消息阻塞。

■ Current conclusion
已处理,代码已入库。

■ My analysis
--

■ Next action
测试验证。

#8 Updated by CD TEST-方永红 over 2 years ago

  • Assignee changed from CD TEST-方永红 to CD Test赵飞

#9 Updated by CD Test赵飞 over 2 years ago

  • Status changed from RESOLVED to VERIFIED

验证版本:FlatBuild_HH_MCE_FSE.M.R.user.01.00.0084.C101
验证结果:PASS

#10 Updated by CD Test赵飞 over 2 years ago

  • Status changed from VERIFIED to CLOSED

#11 Updated by CD Test赵飞 about 2 years ago

音量调节条回弹问题在4/6号release版本上复现

复现步骤:
1、副屏连接中控
2、副屏打开设置 - 声音
3、来回拖动音量调节条
3、在音量调节条上任意位置进行点击调节

新的日志与录屏见附件

#12 Updated by CD Test赵飞 about 2 years ago

  • % Done changed from 100 to 0

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

  • Category changed from CD-FW to AUDIO-FW

#14 Updated by Multimedia组-RD3_TSCD 梁卿山 about 2 years ago

  • Status changed from New to ASSIGNED
  • Assignee changed from Multimedia组-RD3_TSCD 梁卿山 to 物联网测试组_TSCD 王维

Hi 王维

该问题和117495同件,请关闭这个问题,谢谢!

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

  • Status changed from ASSIGNED to RESOLVED

确认bug描述现象重复,由票号117495跟踪修复

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

  • Status changed from RESOLVED to VERIFIED

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

  • Status changed from VERIFIED to CLOSED

Also available in: Atom PDF