mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Android: use more recent usb library
Builds started to fail because v2.2.2 (about 18 months old) couldn't be found anymore. That issue seems to have been fixed, but it was a good reminder not to get completely disconnected from upstream here. This switches things to the currently latest version of the Android USB library (which coincidentally will also provide support for additional USB-serial chipset - not that I think that any dive computers will benefit from that). Some of the interfaces changed in the upstream Java library and our code had to be adjusted to accomodate this. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
c3a5cf3315
commit
94136db4e1
2 changed files with 13 additions and 6 deletions
|
@ -28,7 +28,7 @@ apply plugin: 'com.android.application'
|
|||
|
||||
dependencies {
|
||||
compile fileTree(dir: 'libs', include: ['*.jar'])
|
||||
implementation 'com.github.mik3y:usb-serial-for-android:v2.2.2'
|
||||
implementation 'com.github.mik3y:usb-serial-for-android:v3.4.3'
|
||||
}
|
||||
|
||||
android {
|
||||
|
@ -62,6 +62,11 @@ android {
|
|||
}
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
lintOptions {
|
||||
abortOnError false
|
||||
}
|
||||
|
|
|
@ -298,9 +298,10 @@ public class AndroidSerial {
|
|||
Log.d(TAG, "in " + Thread.currentThread().getStackTrace()[2].getMethodName());
|
||||
try {
|
||||
Log.d(TAG, "write length: " + data.length);
|
||||
int retval = usbSerialPort.write(data, timeout);
|
||||
Log.d(TAG, "actual write length: " + retval);
|
||||
return retval;
|
||||
usbSerialPort.write(data, timeout);
|
||||
/* throws an exception if we didn't write all data successfully */
|
||||
Log.d(TAG, "successfully written");
|
||||
return data.length;
|
||||
} catch (Exception e) {
|
||||
Log.e(TAG, "Error in " + Thread.currentThread().getStackTrace()[2].getMethodName(), e);
|
||||
return AndroidSerial.DC_STATUS_IO;
|
||||
|
@ -313,8 +314,9 @@ public class AndroidSerial {
|
|||
Log.d(TAG, "in " + Thread.currentThread().getStackTrace()[2].getMethodName());
|
||||
try {
|
||||
if ((direction | AndroidSerial.DC_DIRECTION_INPUT) > 0) readBuffer.clear();
|
||||
boolean retval = this.usbSerialPort.purgeHwBuffers((direction | AndroidSerial.DC_DIRECTION_OUTPUT) > 0, (direction | AndroidSerial.DC_DIRECTION_INPUT) > 0);
|
||||
return retval ? AndroidSerial.DC_STATUS_SUCCESS : AndroidSerial.DC_STATUS_IO;
|
||||
this.usbSerialPort.purgeHwBuffers((direction | AndroidSerial.DC_DIRECTION_OUTPUT) > 0, (direction | AndroidSerial.DC_DIRECTION_INPUT) > 0);
|
||||
/* throws exeption if an error occured or flush isn't supported */
|
||||
return AndroidSerial.DC_STATUS_SUCCESS;
|
||||
} catch (Exception e) {
|
||||
Log.e(TAG, "Error in " + Thread.currentThread().getStackTrace()[2].getMethodName(), e);
|
||||
return AndroidSerial.DC_STATUS_IO;
|
||||
|
|
Loading…
Reference in a new issue