diff options
author | Justin Dickow <jjdickow@gmail.com> | 2015-01-24 16:58:15 -0500 |
---|---|---|
committer | Justin Dickow <jjdickow@gmail.com> | 2015-01-24 16:58:15 -0500 |
commit | a24079cb8de5563376dcf782cdb9fe3cae063841 (patch) | |
tree | 1fca30dde1aa30c7ac11fb6b009d2bd6420bd648 /src/components/HMI/app | |
parent | f948dd4539eeecb2c32084cc39b68923fc94e3dd (diff) | |
download | sdl_core-a24079cb8de5563376dcf782cdb9fe3cae063841.tar.gz |
HmiStatus modify
HU DCHECK occurs during multisession registration
Remove unused variable
SIGSEGV handler added to flush logger queue
FixIncomplete device list in UpdateDeviceList request
Fix Memory leak on PutFile break
Fix Thread and Timer
Fix OnHmiStatus Notification
Fix Url array sending for endpoints.
Fix HashChange
Fix SDL parse incoming JSON message with both members error and result as success message
Fix Core crashes while connecting mobile app
Signed-off-by: Justin Dickow <jjdickow@gmail.com>
Diffstat (limited to 'src/components/HMI/app')
-rw-r--r-- | src/components/HMI/app/controller/sdl/AppController.js | 6 | ||||
-rw-r--r-- | src/components/HMI/app/controller/sdl/Controller.js | 26 | ||||
-rw-r--r-- | src/components/HMI/app/controller/sdl/RPCController.js | 108 | ||||
-rw-r--r-- | src/components/HMI/app/model/sdl/MediaModel.js | 10 | ||||
-rw-r--r-- | src/components/HMI/app/model/sdl/Model.js | 1 | ||||
-rw-r--r-- | src/components/HMI/app/model/sdl/NonMediaModel.js | 10 | ||||
-rw-r--r-- | src/components/HMI/app/view/sdl/ExitAppView.js | 22 | ||||
-rw-r--r-- | src/components/HMI/app/view/sdl/TTSPopUp.js | 34 | ||||
-rw-r--r-- | src/components/HMI/app/view/sdl/shared/interactionChoicesView.js | 14 |
9 files changed, 105 insertions, 126 deletions
diff --git a/src/components/HMI/app/controller/sdl/AppController.js b/src/components/HMI/app/controller/sdl/AppController.js index 784e7e8d1c..8f37fa51f0 100644 --- a/src/components/HMI/app/controller/sdl/AppController.js +++ b/src/components/HMI/app/controller/sdl/AppController.js @@ -107,11 +107,10 @@ SDL.SDLAppController = Em.Object.create({ */ VRPerformAction: function (element) { - SDL.SDLController.vrInteractionResponse(SDL.SDLModel.resultCode["SUCCESS"], element.commandID); - if (SDL.SDLModel.VRActive) { SDL.SDLModel.toggleProperty('VRActive'); } + SDL.SDLController.vrInteractionResponse(SDL.SDLModel.resultCode["SUCCESS"], element.commandID); }, /** @@ -144,6 +143,9 @@ SDL.SDLAppController = Em.Object.create({ */ onVRCommand: function (element) { + if (SDL.SDLModel.VRActive) { + SDL.SDLModel.toggleProperty('VRActive'); + } FFW.VR.onCommand(element.commandID, element.appID); }, diff --git a/src/components/HMI/app/controller/sdl/Controller.js b/src/components/HMI/app/controller/sdl/Controller.js index 7c3ba164ef..a6dc92fc0d 100644 --- a/src/components/HMI/app/controller/sdl/Controller.js +++ b/src/components/HMI/app/controller/sdl/Controller.js @@ -55,7 +55,7 @@ SDL.SDLController = Em.Object */ sysContext: function() { - if (SDL.VRPopUp.VRActive) { + if (SDL.SDLModel.VRActive) { return 'VRSESSION'; } if (SDL.AlertPopUp.active) { @@ -78,7 +78,7 @@ SDL.SDLController = Em.Object }.property('SDL.OptionsView.active', 'SDL.SliderView.active', 'SDL.SDLModel.AudioPassThruState', - 'SDL.VRPopUp.VRActive', + 'SDL.SDLModel.VRActive', 'SDL.AlertPopUp.active', 'SDL.States.info.nonMedia.active', 'SDL.States.media.sdlmedia.active', @@ -200,7 +200,9 @@ SDL.SDLController = Em.Object SDL.VRHelpListView.deactivate(); } } - } + } else if (SDL.VRHelpListView.active) { + SDL.VRHelpListView.deactivate(); + } }.observes('SDL.SDLModel.VRActive', 'SDL.SDLModel.interactionData.vrHelp'), /** @@ -414,6 +416,15 @@ SDL.SDLController = Em.Object FFW.BasicCommunication.ExitAllApplications(state); }, /** + * OnAwakeSDL from HMI returns SDL to normal operation + * after OnExitAllApplications(SUSPEND) + * + */ + onAwakeSDLNotificationSend: function() { + FFW.BasicCommunication.OnAwakeSDL(); + }, + + /** * Method to sent notification with selected reason of OnSystemRequest * * @param {String} @@ -458,6 +469,8 @@ SDL.SDLController = Em.Object if (choiceID && SDL.TTSPopUp.active && FFW.TTS.requestId == null) { SDL.TTSPopUp.DeactivateTTS(); } + + SDL.SDLModel.interactionData.helpPrompt = null; }, /** * Method to sent notification for Alert @@ -640,6 +653,10 @@ SDL.SDLController = Em.Object if (SDL.SDLModel.stateLimited == appID) { SDL.SDLModel.set('stateLimited', null); } + + if (SDL.VRHelpListView.active) { + this.showVRHelpItems(); + } }, /** * SDL Driver Distraction ON/OFF switcher @@ -734,6 +751,9 @@ SDL.SDLController = Em.Object */ onActivateSDLApp: function(element) { + if (SDL.SDLModel.VRActive) { + SDL.SDLModel.toggleProperty('VRActive'); + } FFW.BasicCommunication.ActivateApp(element.appID); }, /** diff --git a/src/components/HMI/app/controller/sdl/RPCController.js b/src/components/HMI/app/controller/sdl/RPCController.js index d7ab4b2d01..27dd2ec087 100644 --- a/src/components/HMI/app/controller/sdl/RPCController.js +++ b/src/components/HMI/app/controller/sdl/RPCController.js @@ -72,41 +72,21 @@ SDL.RPCController = Em.Object capabilitiesCheck: function(key, value) { if (key == "imageType" && value == "STATIC") { - SDL.RPCController.capabilityCheckResult = 'UNSUPPORTED_RESOURCE'; + SDL.RPCController.capabilityCheckResult = {code: SDL.SDLModel.resultCode['UNSUPPORTED_RESOURCE'], type: value}; } if (key == "type" && value == "PRE_RECORDED") { - SDL.RPCController.capabilityCheckResult = 'UNSUPPORTED_RESOURCE'; + SDL.RPCController.capabilityCheckResult = {code: SDL.SDLModel.resultCode['UNSUPPORTED_RESOURCE'], type: value}; } if (key == "type" && value == "SAPI_PHONEMES") { - SDL.RPCController.capabilityCheckResult = 'UNSUPPORTED_RESOURCE'; + SDL.RPCController.capabilityCheckResult = {code: SDL.SDLModel.resultCode['UNSUPPORTED_RESOURCE'], type: value}; } if (key == "type" && value == "LHPLUS_PHONEMES") { - SDL.RPCController.capabilityCheckResult = 'UNSUPPORTED_RESOURCE'; + SDL.RPCController.capabilityCheckResult = {code: SDL.SDLModel.resultCode['UNSUPPORTED_RESOURCE'], type: value}; } if (key == "type" && value == "SILENCE") { - SDL.RPCController.capabilityCheckResult = 'UNSUPPORTED_RESOURCE'; + SDL.RPCController.capabilityCheckResult = {code: SDL.SDLModel.resultCode['UNSUPPORTED_RESOURCE'], type: value}; } - }, - - /** - * Method to check supported image type in request - * - * @param {Object} - * array - */ - checkImagesArray: function(array) { - - var error = false; - if (array instanceof Array) { - for ( var i = 0; i < array.length; i++) { - if (array[i].image && - ((array[i].image.imageType !== "DYNAMIC") && - (array[i].image.imageType !== "STATIC"))) { - - } - } - } - return error; + return value; }, /** @@ -1093,17 +1073,6 @@ SDL.RPCController = Em.Object return this.resultStruct; } - if ("softButtons" in params) { - if (SDL.RPCController - .checkImagesArray(params.softButtons)) { - this.resultStruct = { - "resultCode": SDL.SDLModel.resultCode["INVALID_DATA"], - "resultMessage": "Unsupported image type!" - }; - - return this.resultStruct; - } - } if ("turnIcon" in params && ((params.turnIcon.imageType !== "DYNAMIC") && (params.turnIcon.imageType !== "STATIC"))) { this.resultStruct = { @@ -1183,17 +1152,6 @@ SDL.RPCController = Em.Object return this.resultStruct; } - if ("softButtons" in params) { - if (SDL.RPCController - .checkImagesArray(params.softButtons)) { - this.resultStruct = { - "resultCode": SDL.SDLModel.resultCode["INVALID_DATA"], - "resultMessage": "Unsupported image type!" - }; - - return this.resultStruct; - } - } if ("turnList" in params) { for ( var i = 0; i < params.turnList.length; i++) { @@ -1277,17 +1235,6 @@ SDL.RPCController = Em.Object return this.resultStruct; } - if ("softButtons" in params) { - if (SDL.RPCController - .checkImagesArray(params.softButtons)) { - this.resultStruct = { - "resultCode": SDL.SDLModel.resultCode["INVALID_DATA"], - "resultMessage": "Unsupported image type!" - }; - - return this.resultStruct; - } - } if (params.alertStrings == null) { this.resultStruct = { @@ -1422,17 +1369,6 @@ SDL.RPCController = Em.Object return this.resultStruct; } - if ("softButtons" in params) { - if (SDL.RPCController - .checkImagesArray(params.softButtons)) { - this.resultStruct = { - "resultCode": SDL.SDLModel.resultCode["INVALID_DATA"], - "resultMessage": "Unsupported image type!" - }; - - return this.resultStruct; - } - } if ("graphic" in params && ((params.graphic.imageType !== "DYNAMIC") && (params.graphic.imageType !== "STATIC"))) { this.resultStruct = { @@ -1934,16 +1870,6 @@ SDL.RPCController = Em.Object return this.resultStruct; } - if ("vrHelp" in params) { - if (SDL.RPCController.checkImagesArray(params.vrHelp)) { - this.resultStruct = { - "resultCode": SDL.SDLModel.resultCode["INVALID_DATA"], - "resultMessage": "Unsupported image type!" - }; - - return this.resultStruct; - } - } if (params.appID == null) { this.resultStruct = { @@ -2278,17 +2204,6 @@ SDL.RPCController = Em.Object return this.resultStruct; } - if ("softButtons" in params) { - if (SDL.RPCController - .checkImagesArray(params.softButtons)) { - this.resultStruct = { - "resultCode": SDL.SDLModel.resultCode["INVALID_DATA"], - "resultMessage": "Unsupported image type!" - }; - - return this.resultStruct; - } - } if (params.messageText == null) { this.resultStruct = { @@ -2434,17 +2349,6 @@ SDL.RPCController = Em.Object ShowVrHelp: function(params) { if (params) { - if ("vrHelp" in params) { - if (SDL.RPCController - .checkImagesArray(params.vrHelp)) { - this.resultStruct = { - "resultCode": SDL.SDLModel.resultCode["INVALID_DATA"], - "resultMessage": "Unsupported image type!" - }; - - return this.resultStruct; - } - } if ("appID" in params) { if (typeof params.appID != 'number') { diff --git a/src/components/HMI/app/model/sdl/MediaModel.js b/src/components/HMI/app/model/sdl/MediaModel.js index b51156d2fd..0feceb2119 100644 --- a/src/components/HMI/app/model/sdl/MediaModel.js +++ b/src/components/HMI/app/model/sdl/MediaModel.js @@ -336,10 +336,12 @@ SDL.SDLMediaModel = SDL.SDLAppModel.extend({ this.appInfo.set('alignment', "text-align:center"); } - if (params.graphic && params.graphic.value != '') { - this.appInfo.set('trackIcon', params.graphic.value); - } else { - this.appInfo.set('trackIcon', 'images/sdl/audio_icon.jpg'); + if (params.graphic != null) { + if (params.graphic.value != "") { + this.appInfo.set('trackIcon', params.graphic.value); + } else { + this.appInfo.set('trackIcon', 'images/sdl/audio_icon.jpg'); + } } if ("softButtons" in params) { diff --git a/src/components/HMI/app/model/sdl/Model.js b/src/components/HMI/app/model/sdl/Model.js index a902e649ec..4d54e20e5a 100644 --- a/src/components/HMI/app/model/sdl/Model.js +++ b/src/components/HMI/app/model/sdl/Model.js @@ -1224,7 +1224,6 @@ SDL.SDLModel = Em.Object.create({ setTimeout(function(){ if (SDL.SDLModel.vrActiveRequests.vrPerformInteraction) { SDL.SDLModel.onPrompt(message.params.timeoutPrompt); - SDL.SDLModel.interactionData.helpPrompt = null; } }, message.params.timeout - 2000); //Magic numer is a platform depended HMI behavior: -2 seconds for timeout prompt diff --git a/src/components/HMI/app/model/sdl/NonMediaModel.js b/src/components/HMI/app/model/sdl/NonMediaModel.js index d9a14b32f2..42ac14bc0c 100644 --- a/src/components/HMI/app/model/sdl/NonMediaModel.js +++ b/src/components/HMI/app/model/sdl/NonMediaModel.js @@ -198,10 +198,12 @@ SDL.SDLNonMediaModel = SDL.SDLAppModel.extend({ this.appInfo.set('alignment', "text-align:center"); } - if (params.graphic) { - this.appInfo.set('mainImage', params.graphic.value); - } else { - this.appInfo.set('mainImage', 'images/sdl/audio_icon.jpg'); + if (params.graphic != null) { + if (params.graphic.value != "") { + this.appInfo.set('mainImage', params.graphic.value); + } else { + this.appInfo.set('mainImage', 'images/sdl/audio_icon.jpg'); + } } // Magic number is a count of Preset Buttons on HMI = 8 diff --git a/src/components/HMI/app/view/sdl/ExitAppView.js b/src/components/HMI/app/view/sdl/ExitAppView.js index 4f423f06af..81e9c7ad5f 100644 --- a/src/components/HMI/app/view/sdl/ExitAppView.js +++ b/src/components/HMI/app/view/sdl/ExitAppView.js @@ -47,7 +47,9 @@ SDL.ExitApp = Em.ContainerView.create( { [ 'exitAppViewLabel', 'exitAppViewTitle', - 'exitAppViewSelect' + 'exitAppViewSelect', + 'onAwakeSDLLabel', + 'onAwakeSDLButton' ], /** @@ -104,6 +106,24 @@ SDL.ExitApp = Em.ContainerView.create( { } } ), + onAwakeSDLLabel: SDL.Label.extend( { + + elementId: 'onAwakeSDLLabel', + + classNames: 'onAwakeSDLLabel', + + content: 'onAwakeSDL notification send' + } ), + + onAwakeSDLButton: SDL.Button.extend( { + classNames: 'button onAwakeSDLButton', + text: 'Send onAwakeSDL', + action: 'onAwakeSDLNotificationSend', + target: 'SDL.SDLController', + buttonAction: true, + onDown: false + }), + /** * Trigger function that activates and deactivates tbtClientStateView */ diff --git a/src/components/HMI/app/view/sdl/TTSPopUp.js b/src/components/HMI/app/view/sdl/TTSPopUp.js index 4fc0c7669c..be5652ff90 100644 --- a/src/components/HMI/app/view/sdl/TTSPopUp.js +++ b/src/components/HMI/app/view/sdl/TTSPopUp.js @@ -45,7 +45,9 @@ SDL.TTSPopUp = Em.ContainerView.create( { 'popUp', 'message', 'okButton', - 'timerText' + 'timerText', + 'checkBoxLabel', + 'checkBox' ], requestId: null, @@ -86,6 +88,25 @@ SDL.TTSPopUp = Em.ContainerView.create( { disabledBinding: 'parentView.buttons' }), + checkBoxLabel: SDL.Label.extend({ + + elementId: 'checkBoxLabel', + + classNames: 'checkBoxLabel', + + content: 'Send response' + }), + + checkBox: Em.Checkbox.extend( { + + elementId: 'checkBoxTTS', + + classNames: 'checkBoxTTS', + + checked: true + + }), + timerText: SDL.Label.extend({ elementId: 'timerText', @@ -95,6 +116,8 @@ SDL.TTSPopUp = Em.ContainerView.create( { contentBinding: 'parentView.timerSeconds' }), + + resetTimeout: function () { this.set('timerSeconds', 10); FFW.TTS.OnResetTimeout(this.appID, "TTS.Speak"); @@ -126,9 +149,12 @@ SDL.TTSPopUp = Em.ContainerView.create( { DeactivateTTS: function() { clearInterval(this.timer); this.set('active', false); - this.set('timerSeconds', 10); - SDL.SDLController.TTSResponseHandler(); - FFW.TTS.Stopped(); + this.set('timerSeconds', 5); + + if (this.checkBox.checked) { + SDL.SDLController.TTSResponseHandler(); + FFW.TTS.Stopped(); + } }, /** diff --git a/src/components/HMI/app/view/sdl/shared/interactionChoicesView.js b/src/components/HMI/app/view/sdl/shared/interactionChoicesView.js index d01165dd14..288031ab17 100644 --- a/src/components/HMI/app/view/sdl/shared/interactionChoicesView.js +++ b/src/components/HMI/app/view/sdl/shared/interactionChoicesView.js @@ -86,8 +86,10 @@ SDL.InteractionChoicesView = SDL.SDLAbstractView.create({ ], click: function() { - SDL.InteractionChoicesView.timerUpdate(); - SDL.SDLController.onResetTimeout(SDL.SDLAppController.model.appID, "UI.PerformInteraction"); + if (this._parentView.active) { + SDL.InteractionChoicesView.timerUpdate(); + SDL.SDLController.onResetTimeout(SDL.SDLAppController.model.appID, "UI.PerformInteraction"); + } }, naviChoises: Em.ContainerView.extend({ @@ -119,8 +121,10 @@ SDL.InteractionChoicesView = SDL.SDLAbstractView.create({ itemsOnPage: 5, items: [], click: function() { - SDL.InteractionChoicesView.timerUpdate(); - SDL.SDLController.onResetTimeout(SDL.SDLAppController.model.appID, "UI.PerformInteraction"); + if (this._parentView.active) { + SDL.InteractionChoicesView.timerUpdate(); + SDL.SDLController.onResetTimeout(SDL.SDLAppController.model.appID, "UI.PerformInteraction"); + } } }), @@ -143,7 +147,7 @@ SDL.InteractionChoicesView = SDL.SDLAbstractView.create({ * Method updates popup timer when data changes through keyboard */ timerUpdate: function (){ - if (this.timeout && this.input.value !== null) { + if (this.timeout) { clearTimeout(this.timer); var self = this; this.timer = setTimeout(function () { |