@@ -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