VulpesOS/assets/webapps/settings.gaiamobile.org/js/panels/developer/panel.js
OverSu b38dea0597 Publish Vulpes Preview 15 sources for desktop, Android and Tundra
Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
2026-09-30 23:13:03 +02:00

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);}});};});