1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
/*
* Copyright (c) 2013, Ford Motor Company All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: ·
* Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer. · Redistributions in binary
* form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided
* with the distribution. · Neither the name of the Ford Motor Company nor the
* names of its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/**
* @name SDL.NonMediaController
* @desc SDL NonMedia Controller logic
* @category Controller
* @filesource app/controller/sdl/NonMediaController.js
* @version 1.0
*/
SDL.NonMediaController = Em.Object.create( {
/**
* Current NonMedia application id
*
* @type {Number}
*/
currentAppId: 0,
/**
* Return current NonMedia application name used for application button
*/
currentAppName: function() {
if (this.currentAppId) { return SDL.SDLController
.getApplicationModel(this.currentAppId).appName; }
}.property('this.currentAppId'),
/**
* Return current NonMedia application icon used for application button
*/
currentAppIcon: function() {
if (this.currentAppId) { return SDL.SDLController
.getApplicationModel(this.currentAppId).appIcon; }
}.property('this.currentAppId', 'SDL.SDLAppController.model.appIcon'),
/**
* Activate application model
*
* @param {SDLAppModel}
*/
activateApp: function(applicationModel) {
// store active application id
this.set('currentAppId', applicationModel.appID);
// set active model
SDL.SDLAppController.set('model', applicationModel);
// send response
// FFW.BasicCommunication.ActivateApp( applicationModel.appID );
// Go to SDL state
SDL.InfoController.turnOnSDL();
//SDL.States.goToStates('info.nonMedia');
},
/**
* Restore current application to active state
*/
activateCurrentApp: function() {
FFW.BasicCommunication.OnAppActivated(this.currentAppId);
},
/**
* Method hides sdl activation button and sdl application
*
* @param {Number}
*/
onDeleteApplication: function(appID) {
if (this.currentAppId == appID) {
if (SDL.States.info.nonMedia.active
|| SDL.SDLAppController.model) {
SDL.SDLAppController.model.set('active', false);
SDL.States.goToStates('info.apps');
}
SDL.InfoController.set('activeState', 'info.apps');
this.set('currentAppId', 0);
}
SDL.SDLModel.get('registeredApps').removeObjects(SDL.SDLModel.get('registeredApps').filterProperty('appID', appID));
}
});
|