preferences-defaults-browser.js 2.83 KB
/*
 * ADOBE CONFIDENTIAL
 *
 * Copyright 2016 Adobe Systems Incorporated
 * All Rights Reserved.
 *
 * NOTICE:  All information contained herein is, and remains
 * the property of Adobe Systems Incorporated and its suppliers,
 * if any.  The intellectual and technical concepts contained
 * herein are proprietary to Adobe Systems Incorporated and its
 * suppliers and may be covered by U.S. and Foreign Patents,
 * patents in process, and are protected by trade secret or copyright law.
 * Dissemination of this information or reproduction of this material
 * is strictly forbidden unless prior written permission is obtained
 * from Adobe Systems Incorporated.
 */
/* globals Promise */
define('screens/player/firmware/preferences/impl/preferences-defaults-browser', [
    'underscore',
    'screens/player/shared/serviceadmin',
    'screens/player/firmware/preferences/spi/defaults',
    'module'
], function(_, ServiceAdmin, PreferencesDefaults, mod) {
    'use strict';

    /**
     * The default preferences
     * @type {Object}
     */
    var DEFAULT_PREFERENCES = Object.freeze({
        server: 'http://localhost:4502',
        device: '',
        user: '',
        password: '',
        resolution: 'auto',
        rebootSchedule: 'at 4:00 am',
        enableAdminUI: true,
        enableOSD: true,
        enableActivityUI: true,
        enableRemoteInspect: false,
        enableNativeVideo: false
    });

    /**
     * Defines the defaults Service for the preferences.
     * Please note that this extra service is needed, because the preferences plugin of cordova needs an explicit list
     * of keys to load. otherwise we should just add it as lower ranking preferences service.
     *
     * @class PreferencesDefaultsBrowser
     * @implements {PreferencesDefaults}
     */
    return _.extend({}, PreferencesDefaults, {

        serviceId: mod.id,

        /**
         * Called by ServiceAdmin.
         * @method PreferencesDefaultsBrowser#activate
         * @returns {Promise} A promise that resolves when Service shall be loaded.
         */
        activate: function() {
            return Promise.resolve();
        },

        /**
         * Called by ServiceAdmin.
         * @method PreferencesDefaultsBrowser#deactivate
         * @returns {Promise} A promise that resolves when Service is unloaded.
         */
        deactivate: function() {
            return Promise.resolve();
        },

        /**
         * @method PreferencesDefaultsBrowser#getDefaults
         * @inheritdoc
         */
        getDefaults: function() {
            return Promise.resolve(DEFAULT_PREFERENCES);
        }
    });

});

/* istanbul ignore next */
require([
    'screens/player/firmware/preferences/impl/preferences-defaults-browser',
    'screens/player/shared/serviceadmin'
], function(Service, ServiceAdmin) {
    'use strict';
    ServiceAdmin.register(Service);
});