public long openPortNative()

in src/main/java/com/fazecast/jSerialComm/android/AndroidPort.java [198:220]


	public long openPortNative(SerialPort serialPort)
	{
		// Obtain user permission to open the port
		if (!usbManager.hasPermission(usbDevice)) {
			synchronized (AndroidPort.class) {
				awaitingUserPermission = true;
				while (awaitingUserPermission) {
					usbManager.requestPermission(usbDevice, permissionIntent);
					try { AndroidPort.class.wait(); } catch (InterruptedException ignored) { }
				}
				if (!userPermissionGranted)
					return 0L;
			}
		}

		// Open and configure the port using chip-specific methods
		usbConnection = usbManager.openDevice(usbDevice);
		if ((usbConnection == null) || !openPort() || !configPort(serialPort))
			closePortNative();

		// Return whether the port was successfully opened
		return (usbConnection != null) ? 1L: 0L;
	}