Display RNode hardware errors if available
This commit is contained in:
parent
ca21e47910
commit
86c3b18f84
|
@ -300,6 +300,7 @@ class SidebandApp(MDApp):
|
||||||
self.hardware_rnode_ready = False
|
self.hardware_rnode_ready = False
|
||||||
self.hardware_modem_ready = False
|
self.hardware_modem_ready = False
|
||||||
self.hardware_serial_ready = False
|
self.hardware_serial_ready = False
|
||||||
|
self.hw_error_dialog = None
|
||||||
|
|
||||||
self.final_load_completed = False
|
self.final_load_completed = False
|
||||||
self.service_last_available = 0
|
self.service_last_available = 0
|
||||||
|
@ -432,6 +433,7 @@ class SidebandApp(MDApp):
|
||||||
|
|
||||||
def check_errors(dt):
|
def check_errors(dt):
|
||||||
if self.sideband.getpersistent("startup.errors.rnode") != None:
|
if self.sideband.getpersistent("startup.errors.rnode") != None:
|
||||||
|
if self.hw_error_dialog == None or (self.hw_error_dialog != None and not self.hw_error_dialog.is_open):
|
||||||
description = self.sideband.getpersistent("startup.errors.rnode")["description"]
|
description = self.sideband.getpersistent("startup.errors.rnode")["description"]
|
||||||
self.sideband.setpersistent("startup.errors.rnode", None)
|
self.sideband.setpersistent("startup.errors.rnode", None)
|
||||||
yes_button = MDRectangleFlatButton(
|
yes_button = MDRectangleFlatButton(
|
||||||
|
@ -445,9 +447,11 @@ class SidebandApp(MDApp):
|
||||||
# elevation=0,
|
# elevation=0,
|
||||||
)
|
)
|
||||||
def dl_yes(s):
|
def dl_yes(s):
|
||||||
|
self.hw_error_dialog.is_open = False
|
||||||
self.hw_error_dialog.dismiss()
|
self.hw_error_dialog.dismiss()
|
||||||
yes_button.bind(on_release=dl_yes)
|
yes_button.bind(on_release=dl_yes)
|
||||||
self.hw_error_dialog.open()
|
self.hw_error_dialog.open()
|
||||||
|
self.hw_error_dialog.is_open = True
|
||||||
|
|
||||||
Clock.schedule_once(check_errors, 1.5)
|
Clock.schedule_once(check_errors, 1.5)
|
||||||
|
|
||||||
|
@ -936,6 +940,7 @@ class SidebandApp(MDApp):
|
||||||
if RNS.vendor.platformutils.is_android():
|
if RNS.vendor.platformutils.is_android():
|
||||||
rnode_errors = self.sideband.getpersistent("runtime.errors.rnode")
|
rnode_errors = self.sideband.getpersistent("runtime.errors.rnode")
|
||||||
if rnode_errors != None:
|
if rnode_errors != None:
|
||||||
|
if self.hw_error_dialog == None or (self.hw_error_dialog != None and not self.hw_error_dialog.is_open):
|
||||||
description = rnode_errors["description"]
|
description = rnode_errors["description"]
|
||||||
self.sideband.setpersistent("runtime.errors.rnode", None)
|
self.sideband.setpersistent("runtime.errors.rnode", None)
|
||||||
yes_button = MDRectangleFlatButton(
|
yes_button = MDRectangleFlatButton(
|
||||||
|
@ -944,14 +949,16 @@ class SidebandApp(MDApp):
|
||||||
)
|
)
|
||||||
self.hw_error_dialog = MDDialog(
|
self.hw_error_dialog = MDDialog(
|
||||||
title="Hardware Error",
|
title="Hardware Error",
|
||||||
text="While connecting an RNode, Reticulum reported the following error:\n\n[i]"+str(description)+"[/i]",
|
text="While communicating with an RNode, Reticulum reported the following error:\n\n[i]"+str(description)+"[/i]",
|
||||||
buttons=[ yes_button ],
|
buttons=[ yes_button ],
|
||||||
# elevation=0,
|
# elevation=0,
|
||||||
)
|
)
|
||||||
def dl_yes(s):
|
def dl_yes(s):
|
||||||
self.hw_error_dialog.dismiss()
|
self.hw_error_dialog.dismiss()
|
||||||
|
self.hw_error_dialog.is_open = False
|
||||||
yes_button.bind(on_release=dl_yes)
|
yes_button.bind(on_release=dl_yes)
|
||||||
self.hw_error_dialog.open()
|
self.hw_error_dialog.open()
|
||||||
|
self.hw_error_dialog.is_open = True
|
||||||
|
|
||||||
|
|
||||||
if self.root.ids.screen_manager.current == "messages_screen":
|
if self.root.ids.screen_manager.current == "messages_screen":
|
||||||
|
|
Loading…
Reference in New Issue