Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
10 lines
No EOL
3.8 KiB
JavaScript
10 lines
No EOL
3.8 KiB
JavaScript
|
|
define('panels/developer/developer',['require','modules/dialog_service','modules/apps_cache','shared/screen_layout','modules/settings_cache','shared/homescreens/homescreen_settings'],function(require){'use strict';var DialogService=require('modules/dialog_service');var AppsCache=require('modules/apps_cache');var ScreenLayout=require('shared/screen_layout');var SettingsCache=require('modules/settings_cache');var HomescreenSettings=require('shared/homescreens/homescreen_settings');const DEVTOOLS_UNRESTRICTED_KEY='devtools.unrestricted';var Developer=function(){this._elements=null;};Developer.prototype={init:function d_init(elements){this._elements=elements;this._elements.ftuLauncher.addEventListener('click',this._launchFTU);if(!ScreenLayout.getCurrentLayout('hardwareHomeButton')){this._elements.softwareHomeButton.style.display='none';if(!ScreenLayout.getCurrentLayout('tiny')){this._elements.homegesture.style.display='none';}}
|
|
if(navigator.mozPower){this._elements.resetSwitch.disabled=false;this._elements.resetSwitch.addEventListener('click',event=>{this._resetDevice();event.preventDefault();});}else{this._elements.resetSwitch.disabled=true;}
|
|
HomescreenSettings.addEventListener('updated',e=>{var prop=e.target;if(prop.name==='grid.paging'){this._homescreenPagingEnabled=prop.value;this._elements.homescreenPaging.checked=prop.value;}});this._elements.homescreenPaging.addEventListener('change',()=>{this._setHomescreenPaging(this._elements.homescreenPaging.checked);});HomescreenSettings.get('grid.paging').then(value=>{this._homescreenPagingEnabled=value;this._elements.homescreenPaging.checked=value;});},_launchFTU:function d__launchFTU(){var key='ftu.manifestURL';var req=navigator.mozSettings.createLock().get(key);req.onsuccess=function ftuManifest(){var ftuManifestURL=req.result[key];if(!ftuManifestURL){ftuManifestURL=document.location.protocol+'//ftu.gaiamobile.org'+
|
|
(location.port?(':'+location.port):'')+'/manifest.webapp';}
|
|
var ftuApp=null;AppsCache.apps().then(function(apps){for(var i=0;i<apps.length&&ftuApp===null;i++){var app=apps[i];if(app.manifestURL===ftuManifestURL){ftuApp=app;}}
|
|
if(ftuApp){ftuApp.launch();}else{DialogService.alert('no-ftu',{title:'no-ftu'});}});};},_resetDevice:function d__resetDevice(){SettingsCache.getSettings(results=>{var unrestricted=results[DEVTOOLS_UNRESTRICTED_KEY];if(unrestricted){DialogService.confirm('reset-devtools-warning-body',{title:'reset-devtools-warning-title',submitButton:'factory-reset',cancelButton:'cancel'}).then((result)=>{var type=result.type;if(type==='submit'){this._wipe('normal');}});}else{DialogService.show('full-developer-mode-warning').then((result)=>{if(result.type==='submit'&&result.value==='final_warning'){DialogService.show('full-developer-mode-final-warning');}});}});},_wipe:function about__wipe(reason){var power=navigator.mozPower;if(!power){console.error('Cannot get mozPower');return;}
|
|
if(!power.factoryReset){console.error('Cannot invoke mozPower.factoryReset()');return;}
|
|
power.factoryReset(reason);},_setHomescreenPaging:function d__setHomescrenPaging(paging){if(this._homescreenPagingEnabled===paging){return;}
|
|
HomescreenSettings.put('grid.paging',paging);}};return function ctor_developer_panel(){return new Developer();};});define('panels/developer/panel',['require','modules/settings_panel','panels/developer/developer'],function(require){'use strict';var SettingsPanel=require('modules/settings_panel');var Developer=require('panels/developer/developer');return function ctor_developer_panel(){var developer=Developer();return SettingsPanel({onInit:function(panel){var elements={resetSwitch:panel.querySelector('.reset-devtools'),ftuLauncher:panel.querySelector('.ftuLauncher'),softwareHomeButton:panel.querySelector('.software-home-button'),homegesture:panel.querySelector('.homegesture'),homescreenPaging:panel.querySelector('.homescreen-paging')};developer.init(elements);}});};}); |