@@ -222,18 +222,29 @@ class SdlManager extends _SdlManagerBase {
222222 */
223223 _checkLifecycleConfiguration ( ) {
224224 const actualLanguage = this . _lifecycleManager . getRegisterAppInterfaceResponse ( ) . getLanguage ( ) ;
225+ const actualHmiLanguage = this . _lifecycleManager . getRegisterAppInterfaceResponse ( ) . getHmiDisplayLanguage ( ) ;
225226
226- if ( actualLanguage !== null && actualLanguage !== this . _lifecycleConfig . getLanguageDesired ( ) ) {
227+ if ( ( actualLanguage !== null && actualLanguage !== this . _lifecycleConfig . getLanguageDesired ( ) )
228+ || ( actualHmiLanguage !== null && actualHmiLanguage !== this . _lifecycleConfig . getHmiDisplayLanguageDesired ( ) ) ) {
227229 // HMI language doesn't match the app's desired display language
228- const lifecycleConfigUpdate = this . _managerListener . managerShouldUpdateLifecycle ( actualLanguage ) ;
230+ const lifecycleConfigUpdateNew = this . _managerListener . managerShouldUpdateLifecycleToLanguage ( actualLanguage , actualHmiLanguage ) ;
231+ const lifecycleConfigUpdateOld = this . _managerListener . managerShouldUpdateLifecycle ( actualLanguage ) ;
232+ let lifecycleConfigUpdate ;
233+ const changeRegistration = new ChangeRegistration ( ) ;
234+
235+ if ( lifecycleConfigUpdateNew === null ) {
236+ lifecycleConfigUpdate = lifecycleConfigUpdateOld ;
237+ changeRegistration . setLanguage ( actualLanguage )
238+ . setHmiDisplayLanguage ( actualLanguage ) ;
239+ } else {
240+ lifecycleConfigUpdate = lifecycleConfigUpdateNew ;
241+ changeRegistration . setLanguage ( actualLanguage )
242+ . setHmiDisplayLanguage ( actualHmiLanguage ) ;
243+ }
229244
230245 if ( lifecycleConfigUpdate !== null ) {
231246 // send a ChangeRegistration RPC
232- const changeRegistration = new ChangeRegistration ( ) ;
233- changeRegistration
234- . setLanguage ( actualLanguage )
235- . setHmiDisplayLanguage ( actualLanguage )
236- . setAppName ( lifecycleConfigUpdate . getAppName ( ) )
247+ changeRegistration . setAppName ( lifecycleConfigUpdate . getAppName ( ) )
237248 . setNgnMediaScreenAppName ( lifecycleConfigUpdate . getShortAppName ( ) )
238249 . setVrSynonyms ( lifecycleConfigUpdate . getVoiceRecognitionCommandNames ( ) ) ;
239250
@@ -244,7 +255,7 @@ class SdlManager extends _SdlManagerBase {
244255 this . sendRpcResolve ( changeRegistration )
245256 . then ( ( response ) => {
246257 this . _lifecycleConfig . setLanguageDesired ( actualLanguage ) ;
247- this . _lifecycleConfig . setHmiDisplayLanguageDesired ( actualLanguage ) ;
258+ this . _lifecycleConfig . setHmiDisplayLanguageDesired ( actualHmiLanguage ) ;
248259 if ( lifecycleConfigUpdate . getAppName ( ) !== null ) {
249260 this . _lifecycleConfig . setAppName ( lifecycleConfigUpdate . getAppName ( ) ) ;
250261 }
@@ -502,7 +513,7 @@ class SdlManager extends _SdlManagerBase {
502513 }
503514
504515 /**
505- * Retreives the RAI response from the _LifecycleManager
516+ * Retrieves the RAI response from the _LifecycleManager
506517 * @returns {RegisterAppInterfaceResponse|null } - A RegisterAppInterfaceResponse.
507518 */
508519 getRegisterAppInterfaceResponse ( ) {
0 commit comments