Increased service heartbeat timeout

This commit is contained in:
Mark Qvist 2022-12-16 23:57:07 +01:00
parent ac3412e50a
commit 0980dc7ee0
1 changed files with 27 additions and 19 deletions

View File

@ -88,6 +88,8 @@ class SidebandApp(MDApp):
PKGNAME = "io.unsigned.sideband" PKGNAME = "io.unsigned.sideband"
SERVICE_TIMEOUT = 15
def __init__(self, **kwargs): def __init__(self, **kwargs):
super().__init__(**kwargs) super().__init__(**kwargs)
self.title = "Sideband" self.title = "Sideband"
@ -113,6 +115,7 @@ class SidebandApp(MDApp):
self.hardware_serial_ready = False self.hardware_serial_ready = False
self.final_load_completed = False self.final_load_completed = False
self.service_last_available = 0
Window.softinput_mode = "below_target" Window.softinput_mode = "below_target"
self.icon = self.sideband.asset_dir+"/icon.png" self.icon = self.sideband.asset_dir+"/icon.png"
@ -134,6 +137,7 @@ class SidebandApp(MDApp):
def update_init_status(self, dt): def update_init_status(self, dt):
self.update_loading_text() self.update_loading_text()
if not RNS.vendor.platformutils.is_android() or self.sideband.service_available(): if not RNS.vendor.platformutils.is_android() or self.sideband.service_available():
self.service_last_available = time.time()
self.start_final() self.start_final()
self.loading_updater.cancel() self.loading_updater.cancel()
@ -529,7 +533,8 @@ class SidebandApp(MDApp):
def jobs(self, delta_time): def jobs(self, delta_time):
if self.final_load_completed: if self.final_load_completed:
if not self.sideband.service_available(): if RNS.vendor.platformutils.is_android() and not self.sideband.service_available():
if time.time() - self.service_last_available > SidebandApp.SERVICE_TIMEOUT:
if self.app_state == SidebandApp.ACTIVE: if self.app_state == SidebandApp.ACTIVE:
info_text = "The Reticulum and LXMF service seem to have disappeared, and Sideband is no longer connected. This should not happen, and probably indicates a bug in the background service. Please restart Sideband to regain connectivity." info_text = "The Reticulum and LXMF service seem to have disappeared, and Sideband is no longer connected. This should not happen, and probably indicates a bug in the background service. Please restart Sideband to regain connectivity."
ok_button = MDRectangleFlatButton(text="OK",font_size=dp(18)) ok_button = MDRectangleFlatButton(text="OK",font_size=dp(18))
@ -550,6 +555,9 @@ class SidebandApp(MDApp):
else: else:
self.quit_action() self.quit_action()
else:
self.service_last_available = time.time()
if self.root.ids.screen_manager.current == "messages_screen": if self.root.ids.screen_manager.current == "messages_screen":
self.messages_view.update() self.messages_view.update()