2021-11-25 16:33:45 +00:00
|
|
|
(function(back) {
|
2022-09-07 08:53:22 +00:00
|
|
|
const iconColorModes = ['color', 'mono'];
|
|
|
|
|
2021-11-25 16:33:45 +00:00
|
|
|
function settings() {
|
|
|
|
let settings = require('Storage').readJSON("messages.settings.json", true) || {};
|
2022-06-14 08:04:15 +00:00
|
|
|
if (settings.vibrate===undefined) settings.vibrate=":";
|
2022-06-28 10:43:25 +00:00
|
|
|
if (settings.vibrateCalls===undefined) settings.vibrateCalls=":";
|
2021-11-25 16:33:45 +00:00
|
|
|
if (settings.repeat===undefined) settings.repeat=4;
|
2023-09-06 03:08:42 +00:00
|
|
|
if (settings.repeatCalls===undefined) settings.repeatCalls=settings.repeat;
|
2022-07-15 11:10:52 +00:00
|
|
|
if (settings.vibrateTimeout===undefined) settings.vibrateTimeout=60;
|
2021-12-06 14:27:11 +00:00
|
|
|
if (settings.unreadTimeout===undefined) settings.unreadTimeout=60;
|
2022-05-29 04:19:38 +00:00
|
|
|
if (settings.maxMessages===undefined) settings.maxMessages=3;
|
2022-09-07 08:53:22 +00:00
|
|
|
if (settings.iconColorMode === undefined) settings.iconColorMode = iconColorModes[0];
|
2022-03-29 05:44:41 +00:00
|
|
|
settings.unlockWatch=!!settings.unlockWatch;
|
2022-03-07 21:46:57 +00:00
|
|
|
settings.openMusic=!!settings.openMusic;
|
2022-02-19 08:34:56 +00:00
|
|
|
settings.maxUnreadTimeout=240;
|
2022-04-06 23:30:39 +00:00
|
|
|
if (settings.flash===undefined) settings.flash=true;
|
2021-11-25 16:33:45 +00:00
|
|
|
return settings;
|
|
|
|
}
|
|
|
|
function updateSetting(setting, value) {
|
2022-02-19 08:34:56 +00:00
|
|
|
let settings = require('Storage').readJSON("messages.settings.json", true) || {};
|
|
|
|
settings[setting] = value;
|
|
|
|
require('Storage').writeJSON("messages.settings.json", settings);
|
2021-11-25 16:33:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
var mainmenu = {
|
2022-01-19 11:49:59 +00:00
|
|
|
"" : { "title" : /*LANG*/"Messages" },
|
2021-11-25 16:33:45 +00:00
|
|
|
"< Back" : back,
|
2022-04-01 12:50:06 +00:00
|
|
|
/*LANG*/'Vibrate': require("buzz_menu").pattern(settings().vibrate, v => updateSetting("vibrate", v)),
|
2022-06-28 10:43:25 +00:00
|
|
|
/*LANG*/'Vibrate for calls': require("buzz_menu").pattern(settings().vibrateCalls, v => updateSetting("vibrateCalls", v)),
|
2022-01-19 11:49:59 +00:00
|
|
|
/*LANG*/'Repeat': {
|
2022-02-19 08:34:56 +00:00
|
|
|
value: settings().repeat,
|
2022-02-18 18:53:11 +00:00
|
|
|
min: 0, max: 10,
|
|
|
|
format: v => v?v+"s":/*LANG*/"Off",
|
2021-11-25 16:33:45 +00:00
|
|
|
onchange: v => updateSetting("repeat", v)
|
|
|
|
},
|
2023-09-06 02:51:12 +00:00
|
|
|
/*LANG*/'Repeat for calls': {
|
|
|
|
value: settings().repeatCalls,
|
|
|
|
min: 0, max: 10,
|
|
|
|
format: v => v?v+"s":/*LANG*/"Off",
|
|
|
|
onchange: v => updateSetting("repeatCalls", v)
|
|
|
|
},
|
2022-07-15 11:10:52 +00:00
|
|
|
/*LANG*/'Vibrate timer': {
|
|
|
|
value: settings().vibrateTimeout,
|
|
|
|
min: 0, max: settings().maxUnreadTimeout, step : 10,
|
|
|
|
format: v => v?v+"s":/*LANG*/"Off",
|
|
|
|
onchange: v => updateSetting("vibrateTimeout", v)
|
|
|
|
},
|
2022-01-19 11:49:59 +00:00
|
|
|
/*LANG*/'Unread timer': {
|
2021-12-06 14:27:11 +00:00
|
|
|
value: settings().unreadTimeout,
|
2022-02-19 08:34:56 +00:00
|
|
|
min: 0, max: settings().maxUnreadTimeout, step : 10,
|
2022-01-19 11:49:59 +00:00
|
|
|
format: v => v?v+"s":/*LANG*/"Off",
|
2021-12-06 14:27:11 +00:00
|
|
|
onchange: v => updateSetting("unreadTimeout", v)
|
|
|
|
},
|
2022-02-23 10:44:48 +00:00
|
|
|
/*LANG*/'Min Font': {
|
|
|
|
value: 0|settings().fontSize,
|
|
|
|
min: 0, max: 1,
|
|
|
|
format: v => [/*LANG*/"Small",/*LANG*/"Medium"][v],
|
|
|
|
onchange: v => updateSetting("fontSize", v)
|
|
|
|
},
|
2022-03-07 21:46:57 +00:00
|
|
|
/*LANG*/'Auto-Open Music': {
|
|
|
|
value: !!settings().openMusic,
|
|
|
|
onchange: v => updateSetting("openMusic", v)
|
|
|
|
},
|
2022-03-28 19:57:52 +00:00
|
|
|
/*LANG*/'Unlock Watch': {
|
|
|
|
value: !!settings().unlockWatch,
|
|
|
|
onchange: v => updateSetting("unlockWatch", v)
|
|
|
|
},
|
2022-04-06 23:30:39 +00:00
|
|
|
/*LANG*/'Flash Icon': {
|
|
|
|
value: !!settings().flash,
|
|
|
|
onchange: v => updateSetting("flash", v)
|
|
|
|
},
|
2022-04-13 17:16:08 +00:00
|
|
|
/*LANG*/'Quiet mode disables auto-open': {
|
|
|
|
value: !!settings().quietNoAutOpn,
|
|
|
|
onchange: v => updateSetting("quietNoAutOpn", v)
|
|
|
|
},
|
2022-08-15 11:58:58 +00:00
|
|
|
/*LANG*/'Disable auto-open': {
|
|
|
|
value: !!settings().noAutOpn,
|
|
|
|
onchange: v => updateSetting("noAutOpn", v)
|
|
|
|
},
|
2022-05-29 04:19:38 +00:00
|
|
|
/*LANG*/'Widget messages': {
|
|
|
|
value:0|settings().maxMessages,
|
2022-09-24 13:50:20 +00:00
|
|
|
min: 0, max: 5,
|
|
|
|
format: v => v ? v :/*LANG*/"Hide",
|
2022-05-29 04:19:38 +00:00
|
|
|
onchange: v => updateSetting("maxMessages", v)
|
2022-09-07 08:53:22 +00:00
|
|
|
},
|
|
|
|
/*LANG*/'Icon color mode': {
|
|
|
|
value: Math.max(0,iconColorModes.indexOf(settings().iconColorMode)),
|
|
|
|
min: 0, max: iconColorModes.length - 1,
|
|
|
|
format: v => iconColorModes[v],
|
|
|
|
onchange: v => updateSetting("iconColorMode", iconColorModes[v])
|
2023-09-14 09:40:37 +00:00
|
|
|
},
|
|
|
|
/*LANG*/'Car driver pos': { // used by messagegui
|
|
|
|
value:!!settings().carIsRHD,
|
|
|
|
format: v => v ? /*LANG*/"Right" :/*LANG*/"Left",
|
|
|
|
onchange: v => updateSetting("carIsRHD", v)
|
|
|
|
},
|
2021-11-25 16:33:45 +00:00
|
|
|
};
|
|
|
|
E.showMenu(mainmenu);
|
2022-06-28 10:43:25 +00:00
|
|
|
});
|