-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix responses sequence for Alert and SubtleAlert #464
Fix responses sequence for Alert and SubtleAlert #464
Conversation
b2f957f
to
c34cec9
Compare
c34cec9
to
69b119f
Compare
@AKalinich-Luxoft I noticed there is an approval on the PR from the Luxoft team. Is this PR ready for Livio review? |
@jordynmackool, currently the PR is not ready for Livio review. |
…_alert_reject_sequence
@jordynmackool all conflicts have been resolved and PR is ready for Livio review |
@AKalinich-Luxoft Does this fix mean that smartdevicelink/sdl_core#3563 can be closed? |
@JackLivio yes, SDL issue can be closed as its behavior is correct in this case |
* Add TTS.Speak callbacks handlers and generic logic * Added postponed callback for UI.Alert * Added postponed callback for UI.SubtleAlert
Fixes #465
This PR is ready for review.
Testing Plan
Covered by manual test plan
Summary
There was noticed an issue #3563 when SDL sends unexpected
TTS.StopSpeaking
request to HMI. This is a correct SDL behavior according to requirements for case when SDL receives response on UI part ofAlert
/SubtleAlert
BEFORE receiving response onTTS.Speak
part of request. HMI has been implemented in a way to send responses on UI part right away after receiving, so this sequence triggers SDL to stop TTS from it's side explicitly, however corresponding speak request was even not started yet.To fix that sequence, added logic to postpone responses for
UI.Alert
andUI.SubtleAlert
if TTS part is expected from SDL. In that case, if by some reason request is being rejected and TTS part is expected, HMI will registerTTS.Speak
listener and send response to UI part only after sending response to TTS part. In that case SDL will not send redundantTTS.StopSpeaking
request to HMI.Note TTS part of request for
Alert
/SubtleAlert
can be predicted by HMI byalertType
parameter of UI part. However, there is no way to predict the same forAlertManeuver
andPerformAPT
RPCs. Probably, this is a good candidate for a new proposal.CLA