Skip to content

Commit f1c3726

Browse files
committed
fixed issue for android < 12
1 parent 43edcdf commit f1c3726

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

python_hackrf/pyhackrf_tools/__android.py

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def stop(self):
2525
def on_broadcast(self, context, intent):
2626
global event
2727

28-
if 'libusb.android.USB_PERMISSION':
28+
if intent.getAction() == 'libusb.android.USB_PERMISSION':
2929
event.set()
3030

3131

@@ -45,22 +45,23 @@ def get_usb_device_descriptor():
4545
usb_manager = activity.getSystemService(Context.USB_SERVICE)
4646
permission_intent = "libusb.android.USB_PERMISSION"
4747

48-
flags = PendingIntent.FLAG_MUTABLE
48+
flags = PendingIntent.FLAG_IMMUTABLE
4949
mPermissionIntent = PendingIntent.getBroadcast(activity, 0, autoclass('android.content.Intent')(permission_intent), flags)
5050

5151
device_list = usb_manager.getDeviceList()
52-
usb_device = next(iter(device_list.values()))
52+
if device_list:
53+
usb_device = next(iter(device_list.values()))
5354

54-
usb_manager.requestPermission(usb_device, mPermissionIntent)
55+
usb_manager.requestPermission(usb_device, mPermissionIntent)
5556

56-
if not usb_manager.hasPermission(usb_device):
57-
usb_broadcast_receiver.start()
58-
event.wait()
59-
usb_broadcast_receiver.stop()
57+
if not usb_manager.hasPermission(usb_device):
58+
usb_broadcast_receiver.start()
59+
event.wait()
60+
usb_broadcast_receiver.stop()
6061

61-
if usb_manager.hasPermission(usb_device):
62-
usb_device_connection = usb_manager.openDevice(usb_device)
63-
return usb_device_connection.getFileDescriptor()
62+
if usb_manager.hasPermission(usb_device):
63+
usb_device_connection = usb_manager.openDevice(usb_device)
64+
return usb_device_connection.getFileDescriptor()
6465

6566
return None
6667

0 commit comments

Comments
 (0)