mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-02-18 13:04:01 +08:00
Merge branch 'master' into mici-ui-always-offroad
This commit is contained in:
@@ -355,5 +355,10 @@ class SunnylinkLayout(Widget):
|
|||||||
|
|
||||||
def show_event(self):
|
def show_event(self):
|
||||||
super().show_event()
|
super().show_event()
|
||||||
|
ui_state.sunnylink_state.set_settings_open(True)
|
||||||
self._scroller.show_event()
|
self._scroller.show_event()
|
||||||
self._sunnylink_description.set_visible(False)
|
self._sunnylink_description.set_visible(False)
|
||||||
|
|
||||||
|
def hide_event(self):
|
||||||
|
super().hide_event()
|
||||||
|
ui_state.sunnylink_state.set_settings_open(False)
|
||||||
|
|||||||
@@ -109,6 +109,8 @@ class SunnylinkState:
|
|||||||
self.sunnylink_dongle_id = self._params.get("SunnylinkDongleId")
|
self.sunnylink_dongle_id = self._params.get("SunnylinkDongleId")
|
||||||
self._api = SunnylinkApi(self.sunnylink_dongle_id)
|
self._api = SunnylinkApi(self.sunnylink_dongle_id)
|
||||||
|
|
||||||
|
self._panel_open = False
|
||||||
|
|
||||||
self._load_initial_state()
|
self._load_initial_state()
|
||||||
|
|
||||||
def _load_initial_state(self) -> None:
|
def _load_initial_state(self) -> None:
|
||||||
@@ -166,10 +168,14 @@ class SunnylinkState:
|
|||||||
|
|
||||||
def _worker_thread(self) -> None:
|
def _worker_thread(self) -> None:
|
||||||
while self._running:
|
while self._running:
|
||||||
self._sm.update()
|
with self._lock:
|
||||||
if self.is_connected():
|
panel_open = self._panel_open
|
||||||
self._fetch_roles()
|
|
||||||
self._fetch_users()
|
if panel_open:
|
||||||
|
self._sm.update()
|
||||||
|
if self.is_connected():
|
||||||
|
self._fetch_roles()
|
||||||
|
self._fetch_users()
|
||||||
|
|
||||||
for _ in range(int(self.FETCH_INTERVAL / self.SLEEP_INTERVAL)):
|
for _ in range(int(self.FETCH_INTERVAL / self.SLEEP_INTERVAL)):
|
||||||
if not self._running:
|
if not self._running:
|
||||||
@@ -221,5 +227,9 @@ class SunnylinkState:
|
|||||||
else:
|
else:
|
||||||
return style.ITEM_TEXT_VALUE_COLOR
|
return style.ITEM_TEXT_VALUE_COLOR
|
||||||
|
|
||||||
|
def set_settings_open(self, _open: bool) -> None:
|
||||||
|
with self._lock:
|
||||||
|
self._panel_open = _open
|
||||||
|
|
||||||
def __del__(self):
|
def __del__(self):
|
||||||
self.stop()
|
self.stop()
|
||||||
|
|||||||
Reference in New Issue
Block a user