2 * Copyright (c) 2013, Ford Motor Company All rights reserved.
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are met:
6 * · Redistributions of source code must retain the above copyright notice,
7 * this list of conditions and the following disclaimer.
8 * · Redistributions in binary form must reproduce the above copyright notice,
9 * this list of conditions and the following disclaimer in the documentation
10 * and/or other materials provided with the distribution.
11 * · Neither the name of the Ford Motor Company nor the names of its
12 * contributors may be used to endorse or promote products derived from this
13 * software without specific prior written permission.
15 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
19 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25 * POSSIBILITY OF SUCH DAMAGE.
28 * @name SDL.NonMediaController
29 * @desc SDL NonMedia Controller logic
30 * @category Controller
31 * @filesource app/controller/sdl/NonMediaController.js
35 SDL.NonMediaController = Em.Object.create( {
38 * Current NonMedia application id
45 * Return current NonMedia application name used for application button
47 currentAppName: function() {
48 if( this.currentAppId ){
49 return SDL.SDLController.getApplicationModel( this.currentAppId ).appName;
51 }.property( 'this.currentAppId' ),
54 * Return current NonMedia application icon used for application button
56 currentAppIcon: function() {
57 if( this.currentAppId ){
58 return SDL.SDLController.getApplicationModel( this.currentAppId ).appIcon;
60 }.property( 'this.currentAppId', 'SDL.SDLAppController.model.appIcon' ),
63 * Activate application model
65 * @param {SDLAppModel}
67 activateApp: function( applicationModel ) {
69 // store active application id
70 this.set( 'currentAppId', applicationModel.appId );
73 SDL.SDLAppController.set( 'model', applicationModel );
76 // FFW.BasicCommunication.ActivateApp( applicationModel.appId );
79 SDL.States.goToStates( 'info.nonMedia' );
83 * Restore current application to active state
85 restoreCurrentApp: function() {
86 if( SDL.SDLAppController.model.appId === this.currentAppId ){
87 FFW.BasicCommunication.ActivateApp( this.currentAppId );
90 this.activateApp( SDL.SDLController.getApplicationModel( this.currentAppId ) );
94 * Method hides sdl activation button and sdl application
98 onDeleteApplication: function( appId ) {
99 if( this.currentAppId == appId ){
100 if( SDL.States.info.nonMedia.active ){
101 SDL.States.goToStates( 'info.apps' );
103 this.set( 'currentAppId', 0 );