bluetooth bug

This commit is contained in:
cuu 2018-12-20 16:17:57 +08:00
parent 36ebf2f7fc
commit d9a884520c

View File

@ -393,6 +393,8 @@ class BluetoothPage(Page):
_ADAPTER_DEV = "hci0" _ADAPTER_DEV = "hci0"
_Offline = False
def __init__(self): def __init__(self):
Page.__init__(self) Page.__init__(self)
self._WirelessList = [] self._WirelessList = []
@ -617,9 +619,17 @@ class BluetoothPage(Page):
self.GenNetworkList() self.GenNetworkList()
def OnLoadCb(self): def OnLoadCb(self):
self._Offline = False
if self._Screen._TitleBar._InAirPlaneMode == False: if self._Screen._TitleBar._InAirPlaneMode == False:
self.RefreshDevices() out = commands.getstatusoutput("hcitool dev | grep hci0 |cut -f3") ## bluetooth maybe dead after airplane mode
self.GenNetworkList() if len(out[1]) < 17:
self._Offline = True
print("Bluetooth OnLoadCb ,can not find hci0 alive,try to reboot")
else:
self.RefreshDevices()
self.GenNetworkList()
else:
self._Offline = True
def ScrollUp(self): def ScrollUp(self):
if len(self._WirelessList) == 0: if len(self._WirelessList) == 0:
@ -648,7 +658,7 @@ class BluetoothPage(Page):
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]: if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]:
if self._Screen._TitleBar._InAirPlaneMode == True: if self._Offline == True:
self.AbortedAndReturnToUpLevel() self.AbortedAndReturnToUpLevel()
return return
@ -683,7 +693,7 @@ class BluetoothPage(Page):
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["X"]: if event.key == CurKeys["X"]:
if self._Screen._TitleBar._InAirPlaneMode == False: if self._Offline == False:
self.Rescan() self.Rescan()
if event.key == CurKeys["Y"]: if event.key == CurKeys["Y"]:
@ -697,7 +707,7 @@ class BluetoothPage(Page):
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["B"]: if event.key == CurKeys["B"]:
if self._Screen._TitleBar._InAirPlaneMode == False: if self._Offline == False:
self.TryConnect() self.TryConnect()
def Draw(self): def Draw(self):