From eeb0a616c30e38c81bbd01e25fb2177ec9f964da Mon Sep 17 00:00:00 2001 From: cuu Date: Sun, 2 Dec 2018 18:00:07 +0800 Subject: [PATCH] bluetooth OnloadCb,RefreshDevices will block n secs if there is no bluez daemon --- Menu/GameShell/10_Settings/Bluetooth/__init__.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/Menu/GameShell/10_Settings/Bluetooth/__init__.py b/Menu/GameShell/10_Settings/Bluetooth/__init__.py index 8d40891..929ad69 100644 --- a/Menu/GameShell/10_Settings/Bluetooth/__init__.py +++ b/Menu/GameShell/10_Settings/Bluetooth/__init__.py @@ -544,12 +544,16 @@ class BluetoothPage(Page): def RefreshDevices(self): global devices devices = {} - proxy_obj = bus.get_object("org.bluez", "/") - manager = dbus.Interface(proxy_obj,"org.freedesktop.DBus.ObjectManager") - objects = manager.GetManagedObjects() - for path, interfaces in objects.iteritems(): - if "org.bluez.Device1" in interfaces: - devices[path] = interfaces["org.bluez.Device1"] ## like /org/bluez/hci0/dev_xx_xx_xx_yy_yy_yy + try: + proxy_obj = bus.get_object("org.bluez", "/") + manager = dbus.Interface(proxy_obj,"org.freedesktop.DBus.ObjectManager") + objects = manager.GetManagedObjects() + for path, interfaces in objects.iteritems(): + if "org.bluez.Device1" in interfaces: + devices[path] = interfaces["org.bluez.Device1"] ## like /org/bluez/hci0/dev_xx_xx_xx_yy_yy_yy + except Exception,e: + print(str(e)) + devices={} self._Devices = devices