diff --git a/Menu/GameShell/10_Settings/Airplane/airplane_page.go b/Menu/GameShell/10_Settings/Airplane/airplane_page.go new file mode 100644 index 0000000..e69de29 diff --git a/Menu/GameShell/10_Settings/Airplane/plugin_init.go b/Menu/GameShell/10_Settings/Airplane/plugin_init.go new file mode 100644 index 0000000..e69de29 diff --git a/Menu/GameShell/10_Settings/Bluetooth/bluetooth_page.go b/Menu/GameShell/10_Settings/Bluetooth/bluetooth_page.go index 739eeb9..f7a118a 100644 --- a/Menu/GameShell/10_Settings/Bluetooth/bluetooth_page.go +++ b/Menu/GameShell/10_Settings/Bluetooth/bluetooth_page.go @@ -495,6 +495,8 @@ type BluetoothPage struct{ LastStatusMsg string ADAPTER_DEV string // == adapterID + + Offline bool } @@ -679,8 +681,21 @@ func (self *BluetoothPage) Rescan() { func (self *BluetoothPage) OnLoadCb() { - self.RefreshDevices() - self.GenNetworkList() + self.Offline = false + + if self.Screen.TitleBar.InAirPlaneMode == false { + out := System("hcitool dev | grep hci0 |cut -f3") + if len(out) < 17 { + self.Offline = true + fmt.Println("Bluetooth OnLoadCb ,can not find hci0 alive,try to reboot") + }else { + self.RefreshDevices() + self.GenNetworkList() + } + }else { + self.Offline = true + } + } func (self *BluetoothPage) ScrollUp() { @@ -723,6 +738,10 @@ func (self *BluetoothPage) ScrollDown() { func (self *BluetoothPage) KeyDown(ev *event.Event) { if ev.Data["Key"] == UI.CurKeys["A"] || ev.Data["Key"] == UI.CurKeys["Menu"] { + if self.Offline == true { + self.AbortedAndReturnToUpLevel() + return + } err := bleapi.StopDiscovery() if err != nil { fmt.Println(err) @@ -751,14 +770,18 @@ func (self *BluetoothPage) KeyDown(ev *event.Event) { } if ev.Data["Key"] == UI.CurKeys["X"] { - self.Rescan() + if self.Offline == false{ + self.Rescan() + } } if ev.Data["Key"] == UI.CurKeys["Y"] { if len(self.MyList) == 0 { return } - + if self.Offline = true { + return + } self.InfoPage.Props = self.MyList[self.PsIndex].(*NetItem).Props self.InfoPage.Path = self.MyList[self.PsIndex].(*NetItem).Path self.InfoPage.MyDevice = self.MyList[self.PsIndex].(*NetItem).Device @@ -769,9 +792,9 @@ func (self *BluetoothPage) KeyDown(ev *event.Event) { } if ev.Data["Key"] == UI.CurKeys["B"] { - - self.TryConnect() - + if self.Offline == false { + self.TryConnect() + } } } diff --git a/Menu/GameShell/10_Settings/PowerOptions/plugin_init.go b/Menu/GameShell/10_Settings/PowerOptions/plugin_init.go new file mode 100644 index 0000000..e69de29 diff --git a/Menu/GameShell/10_Settings/PowerOptions/power_options_page.go b/Menu/GameShell/10_Settings/PowerOptions/power_options_page.go new file mode 100644 index 0000000..e69de29