diff options
author | Andrei Melnik <AMelnik@luxoft.com> | 2015-02-10 12:16:52 +0200 |
---|---|---|
committer | Aleksandr Galiuzov <AGaliuzov@luxoft.com> | 2015-02-23 13:58:19 +0200 |
commit | 80262cc136c286b945209dfb612f663fc8522cbf (patch) | |
tree | dc3ec967e57a6f4de12c5a903fc3caf86fe36e2c /src/components/HMI | |
parent | 00818b7cabad1f9ccd5c6d7858bfbd8e40d8e4f8 (diff) | |
download | sdl_core-80262cc136c286b945209dfb612f663fc8522cbf.tar.gz |
APPLINK-11232, APPLINK-11226: application list view and activation app fixes
Diffstat (limited to 'src/components/HMI')
-rw-r--r-- | src/components/HMI/app/view/info/appsView.js | 9 | ||||
-rw-r--r-- | src/components/HMI/ffw/BasicCommunicationRPC.js | 162 |
2 files changed, 106 insertions, 65 deletions
diff --git a/src/components/HMI/app/view/info/appsView.js b/src/components/HMI/app/view/info/appsView.js index f1ca74c2ca..81d1ce5104 100644 --- a/src/components/HMI/app/view/info/appsView.js +++ b/src/components/HMI/app/view/info/appsView.js @@ -72,8 +72,13 @@ SDL.InfoAppsView = Em.ContainerView disabled: apps[i].greyOut
};
- if (apps[i].icon) {
- btn.iconBinding = 'SDL.SDLModel.updatedAppsList.' + i + '.icon'
+ if (SDL.SDLController.getApplicationModel(apps[i].appID)) {
+ var index = SDL.SDLModel.registeredApps.indexOf(
+ SDL.SDLController.getApplicationModel(apps[i].appID)
+ );
+ btn.iconBinding = 'SDL.SDLModel.registeredApps.' + index + '.appIcon';
+ } else {
+ btn.icon = apps[i].icon ? apps[i].icon : SDL.SDLModel.defaultListOfIcons.app;
}
this.get('listOfApplications.list.childViews').pushObject(SDL.Button.create(btn));
diff --git a/src/components/HMI/ffw/BasicCommunicationRPC.js b/src/components/HMI/ffw/BasicCommunicationRPC.js index bd31060bc8..ed33daef17 100644 --- a/src/components/HMI/ffw/BasicCommunicationRPC.js +++ b/src/components/HMI/ffw/BasicCommunicationRPC.js @@ -202,109 +202,134 @@ FFW.BasicCommunication = FFW.RPCObserver Em.Logger.log("FFW.BasicCommunicationRPC.onRPCResult"); this._super(); - if (response.result.method == "SDL.GetUserFriendlyMessage") { + if ("result" in response + && response.result.code === SDL.SDLModel.resultCode["SUCCESS"]) { - Em.Logger.log("SDL.GetUserFriendlyMessage: Response from SDL!"); + if (response.result.method == "SDL.GetUserFriendlyMessage") { - if (response.id in SDL.SDLModel.userFriendlyMessagePull) { - var callbackObj = SDL.SDLModel.userFriendlyMessagePull[response.id]; - callbackObj.callbackFunc(response.result.messages); - delete SDL.SDLModel.userFriendlyMessagePull[response.id]; + Em.Logger.log("SDL.GetUserFriendlyMessage: Response from SDL!"); + + if (response.id in SDL.SDLModel.userFriendlyMessagePull) { + var callbackObj = SDL.SDLModel.userFriendlyMessagePull[response.id]; + callbackObj.callbackFunc(response.result.messages); + delete SDL.SDLModel.userFriendlyMessagePull[response.id]; + } } - } - if (response.result.method == "SDL.ActivateApp" && response.result.code === 0) { + if (response.result.method == "SDL.ActivateApp") { - Em.Logger.log("SDL.ActivateApp: Response from SDL!"); + Em.Logger.log("SDL.ActivateApp: Response from SDL!"); - if (response.id in SDL.SDLModel.activateAppRequestsList) { + if (response.id in SDL.SDLModel.activateAppRequestsList) { - var appID = SDL.SDLModel.activateAppRequestsList[response.id].appID, - popUp = SDL.SDLModel.activateAppRequestsList[response.id].popUp; + var appID = SDL.SDLModel.activateAppRequestsList[response.id].appID, + popUp = SDL.SDLModel.activateAppRequestsList[response.id].popUp; - popUp.deactivate(); + popUp.deactivate(); - if (response.error && response.error.code === SDL.SDLModel.resultCode["APPLICATION_NOT_REGISTERED"]) { + if (response.error && response.error.code === SDL.SDLModel.resultCode["APPLICATION_NOT_REGISTERED"]) { - SDL.PopUp.create().appendTo('body').popupActivate("Activation FAILED!"); - return; - } + SDL.PopUp.create().appendTo('body').popupActivate("Activation FAILED!"); + return; + } - if (!response.result.isSDLAllowed) { + if (!response.result.isSDLAllowed) { - SDL.SettingsController.currentDeviceAllowance = response.result.device; + SDL.SettingsController.currentDeviceAllowance = response.result.device; - FFW.BasicCommunication.GetUserFriendlyMessage(SDL.SettingsController.AllowSDLFunctionality, appID, ["DataConsent"]); - } + FFW.BasicCommunication.GetUserFriendlyMessage(SDL.SettingsController.AllowSDLFunctionality, appID, ["DataConsent"]); + } - if (response.result.isPermissionsConsentNeeded) { + if (response.result.isPermissionsConsentNeeded) { - this.GetListOfPermissions(appID); - } + this.GetListOfPermissions(appID); + } - if (response.result.isAppPermissionsRevoked) { + if (response.result.isAppPermissionsRevoked) { - SDL.SDLModel.setAppPermissions(appID, response.result.appRevokedPermissions); - } + SDL.SDLModel.setAppPermissions(appID, response.result.appRevokedPermissions); + } - if (response.result.isAppRevoked) { + if (response.result.isAppRevoked) { - FFW.BasicCommunication.GetUserFriendlyMessage(SDL.SettingsController.simpleParseUserFriendlyMessageData, appID, ["AppUnsupported"]); - } else { + FFW.BasicCommunication.GetUserFriendlyMessage(SDL.SettingsController.simpleParseUserFriendlyMessageData, appID, ["AppUnsupported"]); + } else { - SDL.SDLController.getApplicationModel(appID).deviceID = response.result.device ? response.result.device.id : null; + SDL.SDLController.getApplicationModel(appID).deviceID = response.result.device ? response.result.device.id : null; - if ( SDL.SDLAppController.model && SDL.SDLAppController.model.appID != appID) { - SDL.States.goToStates('info.apps'); - } + if (SDL.SDLAppController.model && SDL.SDLAppController.model.appID != appID) { + SDL.States.goToStates('info.apps'); + } - if (SDL.SDLModel.stateLimited == appID) { - SDL.SDLModel.stateLimited = null; - SDL.SDLModel.set('limitedExist', false); - } + if (SDL.SDLModel.stateLimited == appID) { + SDL.SDLModel.stateLimited = null; + SDL.SDLModel.set('limitedExist', false); + } - if (response.result.isSDLAllowed) { - SDL.SDLController.getApplicationModel(appID).turnOnSDL(appID); + if (response.result.isSDLAllowed) { + SDL.SDLController.getApplicationModel(appID).turnOnSDL(appID); + } } - } - delete SDL.SDLModel.activateAppRequestsList[response.id]; + delete SDL.SDLModel.activateAppRequestsList[response.id]; + } + } else if (response.result.method == "SDL.ActivateApp" && response.result.code != 0) { + Em.Logger.error("SDL.ActivateApp: Wrong Response from SDL!"); } - } else if (response.result.method == "SDL.ActivateApp" && response.result.code != 0) { - Em.Logger.error("SDL.ActivateApp: Wrong Response from SDL!"); - } - if ("error" in response && "data" in response.error && "method" in response.error.data && response.error.data.method == "SDL.ActivateApp" && response.result.code === 15) { + if (response.result.method == "SDL.GetListOfPermissions") { - SDL.PopUp.create().appendTo('body').popupActivate("Activation FAILED! Application not registered!"); - } + Em.Logger.log("SDL.GetListOfPermissions: Response from SDL!"); - if (response.result.method == "SDL.GetListOfPermissions") { + SDL.SettingsController.GetListOfPermissionsResponse(response); + } - Em.Logger.log("SDL.GetListOfPermissions: Response from SDL!"); + if (response.result.method == "SDL.GetStatusUpdate") { - SDL.SettingsController.GetListOfPermissionsResponse(response); - } + Em.Logger.log("SDL.GetStatusUpdate: Response from SDL!"); - if (response.result.method == "SDL.GetStatusUpdate") { + SDL.PopUp.create().appendTo('body').popupActivate(response.result); + } - Em.Logger.log("SDL.GetStatusUpdate: Response from SDL!"); + if (response.result.method == "SDL.GetURLS") { - SDL.PopUp.create().appendTo('body').popupActivate(response.result); - } + SDL.SDLModel.set('policyURLs', response.result.urls); - if (response.result.method == "SDL.GetURLS") { + if (response.result.urls.length) { + this.OnSystemRequest("PROPRIETARY", response.result.urls[0].policyAppId, SDL.SettingsController.policyUpdateFile, response.result.urls[0].url); + } else { + this.OnSystemRequest("PROPRIETARY"); + } - SDL.SDLModel.set('policyURLs', response.result.urls); + SDL.SettingsController.policyUpdateRetry(); - if (response.result.urls.length) { - this.OnSystemRequest("PROPRIETARY", response.result.urls[0].policyAppId, SDL.SettingsController.policyUpdateFile, response.result.urls[0].url); - } else { - this.OnSystemRequest("PROPRIETARY"); } + } else if ("error" in response + && "code" in response.error + && response.error.code !== SDL.SDLModel.resultCode["SUCCESS"]) { + + + if ("data" in response.error && "method" in response.error.data) { + //&& response.error.data.method == "SDL.ActivateApp" && response.error.code === 15) { + + if (response.error.data.method == "SDL.ActivateApp") { + + var appID = SDL.SDLModel.activateAppRequestsList[response.id].appID, + popUp = SDL.SDLModel.activateAppRequestsList[response.id].popUp; - SDL.SettingsController.policyUpdateRetry(); + popUp.deactivate(); + if (SDL.SDLModel.resultCode["APPLICATION_NOT_REGISTERED"]) { + SDL.PopUp.create().appendTo('body').popupActivate("Activation FAILED! Application not registered!"); + } + + delete SDL.SDLModel.activateAppRequestsList[response.id]; + } + } else { + console.error("Wrong JSON response structure!"); + } + } else { + console.error("Wrong JSON response structure!"); } }, @@ -537,6 +562,17 @@ FFW.BasicCommunication = FFW.RPCObserver } }; this.client.send(JSONMessage); + + setTimeout(function(){ + if (itemIndex in SDL.SDLModel.activateAppRequestsList) { + + SDL.SDLModel.activateAppRequestsList[itemIndex].popUp.deactivate(); + + SDL.PopUp.create().appendTo('body').popupActivate("Activation FAILED! Application not registered!"); + + delete SDL.SDLModel.activateAppRequestsList[itemIndex]; + } + }, 20000); }, /** |