'use strict'; /* global ModalDialog */ /* global Service */ (function(exports) { // Local reference to mozSettings var settings; /** * Internet Sharing module responsible for checking the availability of * internet sharing based on the status of airplane mode. * @requires ModalDialog * @class InternetSharing */ function InternetSharing() {} InternetSharing.prototype = { /** * Called whenever there is a setting change in wifi tethering. * Validates that we can turn internet sharing on, and saves state to * @memberof InternetSharing.prototype */ internetSharingSettingsChangeHanlder: function(evt) { if (Service.query('AirplaneMode.isActive') && true === evt.settingValue) { var title = 'apmActivated'; var buttonText = 'ok'; var message ='noHotspotWhenAPMisOnWifiHotspot'; ModalDialog.alert(title, message, { title: buttonText }); settings.createLock().set({ 'tethering.wifi.enabled': false }); } }, /** * Starts the InternetSharing class. * @memberof InternetSharing.prototype */ start: function() { settings = window.navigator.mozSettings; // listen changes after value is restored. settings.addObserver('tethering.wifi.enabled', this.internetSharingSettingsChangeHanlder.bind(this)); } }; exports.InternetSharing = InternetSharing; }(window));