From eabc344d9334ba4724d3f5793e933c80e9be2b51 Mon Sep 17 00:00:00 2001
From: ave <ave@ave.zone>
Date: Wed, 30 Aug 2023 00:07:57 +0200
Subject: [PATCH] st3m/settings: load settings when imported

---
 python_payload/st3m/application.py   |  3 ---
 python_payload/st3m/run.py           |  2 --
 python_payload/st3m/settings.py      |  6 +++---
 python_payload/st3m/settings_menu.py | 16 +---------------
 4 files changed, 4 insertions(+), 23 deletions(-)

diff --git a/python_payload/st3m/application.py b/python_payload/st3m/application.py
index 3bb06a5619..e80e1de6c9 100644
--- a/python_payload/st3m/application.py
+++ b/python_payload/st3m/application.py
@@ -48,9 +48,6 @@ class ApplicationContext:
 class Application(BaseView):
     def __init__(self, app_ctx: ApplicationContext) -> None:
         self._app_ctx = app_ctx
-        if not settings.settings_loaded:
-            settings.load_all()
-
         if app_ctx and app_ctx.bundle_metadata and settings.onoff_wifi_preference.value:
             self._wifi_preference = app_ctx.bundle_metadata["app"].get(
                 "wifi_preference"
diff --git a/python_payload/st3m/run.py b/python_payload/st3m/run.py
index c4b89ac88f..c598db4512 100644
--- a/python_payload/st3m/run.py
+++ b/python_payload/st3m/run.py
@@ -151,8 +151,6 @@ def run_main() -> None:
     bundles = BundleManager()
     bundles.update()
 
-    settings.load_all()
-
     try:
         network.hostname(
             settings.str_hostname.value if settings.str_hostname.value else "flow3r"
diff --git a/python_payload/st3m/settings.py b/python_payload/st3m/settings.py
index a50acfbc2d..41c8bd7c22 100644
--- a/python_payload/st3m/settings.py
+++ b/python_payload/st3m/settings.py
@@ -320,8 +320,6 @@ class ObfuscatedValueWidget(TunableWidget):
         pass
 
 
-settings_loaded: bool = False
-
 # Actual tunables / settings.
 onoff_button_swap = OnOffTunable("Swap Buttons", "system.swap_buttons", False)
 onoff_show_fps = OnOffTunable("Show FPS", "system.show_fps", False)
@@ -360,7 +358,6 @@ def load_all() -> None:
     try:
         with open("/flash/settings.json", "r") as f:
             data = json.load(f)
-        settings_loaded = True
     except Exception as e:
         log.warning("Could not load settings: " + str(e))
         return
@@ -397,3 +394,6 @@ def save_all() -> None:
         return
 
     log.info("Saved settings to flash")
+
+
+load_all()
diff --git a/python_payload/st3m/settings_menu.py b/python_payload/st3m/settings_menu.py
index 3917287406..c0c1452c6d 100644
--- a/python_payload/st3m/settings_menu.py
+++ b/python_payload/st3m/settings_menu.py
@@ -14,21 +14,7 @@ from st3m.ui.menu import MenuItem, MenuItemBack
 from st3m.application import BundleMetadata, MenuItemAppLaunch
 from st3m.ui.elements.menus import SimpleMenu
 from st3m.ui.view import ViewManager
-from st3m.settings import (
-    UnaryTunable,
-    load_all,
-    save_all,
-    onoff_show_tray,
-    onoff_button_swap,
-    onoff_debug,
-    onoff_debug_touch,
-    onoff_wifi,
-    onoff_wifi_preference,
-    onoff_show_fps,
-    str_wifi_ssid,
-    str_wifi_psk,
-    str_hostname,
-)
+from st3m.settings import *
 from ctx import Context
 
 log = logging.Log(__name__, level=logging.INFO)
-- 
GitLab