diff --git a/apps/setting/ChangeLog b/apps/setting/ChangeLog index d7cdd07be..0f88be9dd 100644 --- a/apps/setting/ChangeLog +++ b/apps/setting/ChangeLog @@ -84,4 +84,5 @@ of 'Select Clock' 0.73: Fix `const` bug / work with fastload 0.74: Add extra layer of checks before allowing a factory reset (fix #3476) 0.75: Restore previous menu's scroll positions -0.76: Add altitude calibration menu (and update README after menu changed) \ No newline at end of file +0.76: Add altitude calibration menu (and update README after menu changed) +0.77: Save altitude calibration when user exits via reset diff --git a/apps/setting/metadata.json b/apps/setting/metadata.json index 8191598f9..b37534577 100644 --- a/apps/setting/metadata.json +++ b/apps/setting/metadata.json @@ -1,7 +1,7 @@ { "id": "setting", "name": "Settings", - "version": "0.76", + "version": "0.77", "description": "A menu for setting up Bangle.js", "icon": "settings.png", "tags": "tool,system", diff --git a/apps/setting/settings.js b/apps/setting/settings.js index 6cde55696..8303c8c25 100644 --- a/apps/setting/settings.js +++ b/apps/setting/settings.js @@ -1036,8 +1036,14 @@ function showAltitude() { menuAltitude.value = Math.round(pressure.altitude); m.draw(); } + function altitudeDone() { + settings.seaLevelPressure = seaLevelPressure; + updateSettings(); + } + Bangle.setBarometerPower(1,"settings"); Bangle.on("pressure",onPressure); + E.on("kill", altitudeDone); var seaLevelPressure = Bangle.getOptions().seaLevelPressure; if (!isFinite(seaLevelPressure)) seaLevelPressure=1013.25; var menuPressure = {value:"-"}; @@ -1045,8 +1051,8 @@ function showAltitude() { var m = E.showMenu({ "" : {title:/*LANG*/"Altitude",back:() => { Bangle.setBarometerPower(0,"settings"); Bangle.removeListener("pressure",onPressure); - settings.seaLevelPressure = seaLevelPressure; - updateSettings(); + E.removeListener("kill",altitudeDone); + altitudeDone(); popMenu(systemMenu()); }}, /*LANG*/"Pressure (hPa)" : menuPressure, @@ -1054,17 +1060,17 @@ function showAltitude() { /*LANG*/"Adjust up" : function() { Bangle.buzz(80); seaLevelPressure++; - Bangle.setOptions({seaLevelPressure:seaLevelPressure}); + Bangle.setOptions({seaLevelPressure}); }, /*LANG*/"Adjust down" : function() { Bangle.buzz(80); seaLevelPressure--; - Bangle.setOptions({seaLevelPressure:seaLevelPressure}); + Bangle.setOptions({seaLevelPressure}); }, /*LANG*/"Set Default" : function() { Bangle.buzz(); seaLevelPressure=1013.25; - Bangle.setOptions({seaLevelPressure:seaLevelPressure}); + Bangle.setOptions({seaLevelPressure}); } }); }