diff --git a/build.gradle b/build.gradle index d7e2a20..dd32215 100644 --- a/build.gradle +++ b/build.gradle @@ -27,8 +27,10 @@ ext { commonLibVersion= '2.12.4' versionCompiler = 27 versionTarget = 27 + // if hope supporting 4.4 + // please modify it to 16 minSdkVersion = 21 - versionNameString = '1.0.0' + versionNameString = '1.1.0.20190826' javaSourceCompatibility = JavaVersion.VERSION_1_8 javaTargetCompatibility = JavaVersion.VERSION_1_8 } diff --git a/libusbcamera/build.gradle b/libusbcamera/build.gradle index e8afe66..cdc0525 100644 --- a/libusbcamera/build.gradle +++ b/libusbcamera/build.gradle @@ -7,7 +7,7 @@ android { defaultConfig { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.versionTarget - versionCode 1 + versionCode 2 versionName rootProject.ext.versionNameString testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } diff --git a/libusbcamera/src/main/java/com/serenegiant/usb/USBMonitor.java b/libusbcamera/src/main/java/com/serenegiant/usb/USBMonitor.java index 0fe041d..2384c41 100644 --- a/libusbcamera/src/main/java/com/serenegiant/usb/USBMonitor.java +++ b/libusbcamera/src/main/java/com/serenegiant/usb/USBMonitor.java @@ -311,7 +311,7 @@ public final class USBMonitor { // get detected devices final HashMap deviceList = mUsbManager.getDeviceList(); // store those devices info before matching filter xml file - String fileName = Environment.getExternalStorageDirectory()+ "/USBCamera/failed_devices.txt"; + String fileName = Environment.getExternalStorageDirectory().getAbsolutePath()+ "/USBCamera/failed_devices.txt"; File logFile = new File(fileName); if(! logFile.exists()) { @@ -323,29 +323,35 @@ public final class USBMonitor { } FileWriter fw = null; PrintWriter pw = null; - final List result = new ArrayList(); try { fw = new FileWriter(logFile, true); + } catch (IOException e) { + e.printStackTrace(); + } + if(fw != null) { pw = new PrintWriter(fw); - if (deviceList != null) { - if ((filters == null) || filters.isEmpty()) { - result.addAll(deviceList.values()); - } else { - for (final UsbDevice device: deviceList.values() ) { - // match devices - for (final DeviceFilter filter: filters) { - if ((filter != null) && filter.matches(device) || (filter != null && filter.mSubclass == device.getDeviceSubclass())) { - // when filter matches - if (!filter.isExclude) { - result.add(device); - } - break; - } else { - // collection failed dev's class and subclass - String devModel = android.os.Build.MODEL; - String devSystemVersion = android.os.Build.VERSION.RELEASE; - String devClass = String.valueOf(device.getDeviceClass()); - String subClass = String.valueOf(device.getDeviceSubclass()); + } + final List result = new ArrayList(); + if (deviceList != null) { + if ((filters == null) || filters.isEmpty()) { + result.addAll(deviceList.values()); + } else { + for (final UsbDevice device: deviceList.values() ) { + // match devices + for (final DeviceFilter filter: filters) { + if ((filter != null) && filter.matches(device) || (filter != null && filter.mSubclass == device.getDeviceSubclass())) { + // when filter matches + if (!filter.isExclude) { + result.add(device); + } + break; + } else { + // collection failed dev's class and subclass + String devModel = android.os.Build.MODEL; + String devSystemVersion = android.os.Build.VERSION.RELEASE; + String devClass = String.valueOf(device.getDeviceClass()); + String subClass = String.valueOf(device.getDeviceSubclass()); + try{ if(pw != null) { StringBuilder sb = new StringBuilder(); sb.append(devModel); @@ -357,23 +363,22 @@ public final class USBMonitor { pw.flush(); fw.flush(); } + }catch (IOException e) { + e.printStackTrace(); } } } } } - } catch (IOException e) { - e.printStackTrace(); - } finally { - if (pw != null) { - pw.close(); - } - if (fw != null) { - try { - fw.close(); - } catch (IOException e) { - e.printStackTrace(); - } + } + if (pw != null) { + pw.close(); + } + if (fw != null) { + try { + fw.close(); + } catch (IOException e) { + e.printStackTrace(); } } return result;