buf.
*
*/
- protected ByteQueueInputStream() {
- this.readQueue = new ConcurrentLinkedQueue<>();
+ public ByteQueueInputStream() {
+ this.readQueue = new LinkedBlockingQueue<>();
this.pos = 0;
this.count = 0;
+
+ // 最大20K
this.currentBytes = null;
this.isRunning = true;
}
@@ -124,40 +122,49 @@ public void openSocketForwardingMode() {
public void closeSocketForwardingMode() {
this.socketForward = false;
- synchronized (addLock) {
- addLock.notifyAll();
- }
}
/**
* 添加bytes到队列中
* @param bytes
*/
- protected void addBytes(byte[] bytes) {
+ public void addBytes(byte[] bytes) {
+ long startTime = System.currentTimeMillis();
this.readQueue.add(bytes);
-
- if (socketForward) {
- synchronized (addLock) {
- addLock.notifyAll();
- }
- }
}
/**
* 加载数据,直到当前bytes非空或者队列为空
*/
private void pollToAvailable() {
- while (pos >= count) {
- currentBytes = this.readQueue.poll();
-
- // 重设
- if (currentBytes != null) {
- pos = 0;
- count = currentBytes.length;
- } else {
- pos = 0;
- count = 0;
- break;
+ if (pos >= count) {
+ synchronized (lock) {
+ while (pos >= count) {
+ // 非forward模式,不强制poll
+ if (!socketForward) {
+ if (readQueue.isEmpty()) {
+ pos = 0;
+ count = 0;
+ return;
+ }
+ }
+
+ try {
+ currentBytes = this.readQueue.take();
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+ // 重设
+ if (currentBytes != null) {
+ pos = 0;
+ count = currentBytes.length;
+ } else {
+ pos = 0;
+ count = 0;
+ break;
+ }
+ }
}
}
}
@@ -183,29 +190,8 @@ public int read() {
synchronized (addLock) {
pollToAvailable();
+ return (pos < count) ? currentBytes[pos++] & 0xff : -1;
}
-
- boolean available = pos < count;
-
- if (!available && socketForward) {
- synchronized (addLock) {
- // 等待添加数据
- try {
- addLock.wait();
- } catch (InterruptedException e) {
- e.printStackTrace();
-
-// addLock.notifyAll();
- }
- }
-
- synchronized (lock) {
- // 当位置大于等于计数(读完或者未读取)
- pollToAvailable();
- }
- }
-
- return (pos < count) ? currentBytes[pos++] & 0xff : -1;
}
/**
* Reads up to len bytes of data into an array of bytes
@@ -246,45 +232,21 @@ public int read(byte b[], int off, int len) {
return -1;
}
- int availableCount = 0;
- synchronized (lock) {
- // 首先移动到可用bytes
- pollToAvailable();
- availableCount = count - pos;
- }
-
// 初始计数
- int realCount = 0;
-
- if (availableCount == 0) {
- if (socketForward) {
- try {
- synchronized (addLock) {
- // 等待添加数据
- addLock.wait();
- }
-
+ int realCount = -1;
- synchronized (lock) {
- pollToAvailable();
- }
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- } else {
- return -1;
- }
- }
-
- synchronized (lock) {
+ synchronized (addLock) {
// 只填充一次数据,不需要按照len填充
- if (availableCount > 0) {
- int toCopy = Math.min(availableCount, len);
- System.arraycopy(currentBytes, pos, b, off + realCount, toCopy);
+ pollToAvailable();
+
+ if (count - pos > 0) {
+ int toCopy = Math.min(count - pos, len);
+ System.arraycopy(currentBytes, pos, b, off, toCopy);
pos += toCopy;
- realCount += toCopy;
+ realCount = toCopy;
}
+
return realCount;
}
}
@@ -303,7 +265,7 @@ public int read(byte b[], int off, int len) {
*/
@Override
public long skip(long n) {
- synchronized (lock) {
+ synchronized (addLock) {
// 首先移动到可用bytes
pollToAvailable();
@@ -417,5 +379,4 @@ public void reset() {
public void close() throws IOException {
isRunning = false;
}
-
}
diff --git a/src/androidWebsockets/build.gradle b/src/androidWebsockets/build.gradle
index 3428b09..0d9ce9e 100755
--- a/src/androidWebsockets/build.gradle
+++ b/src/androidWebsockets/build.gradle
@@ -1,11 +1,11 @@
apply plugin: 'com.android.library'
android {
- compileSdkVersion 25
- buildToolsVersion "26.0.2"
+ compileSdkVersion rootProject.ext.compileSdkVersion
+ buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
minSdkVersion 17
- targetSdkVersion 25
+ targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
}
diff --git a/src/app/build.gradle b/src/app/build.gradle
index 44760c6..8c02aeb 100644
--- a/src/app/build.gradle
+++ b/src/app/build.gradle
@@ -13,72 +13,55 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-apply plugin: 'com.android.application'
+apply plugin: 'com.android.library'
android {
- compileSdkVersion 25
- buildToolsVersion "26.0.2"
+ compileSdkVersion rootProject.ext.compileSdkVersion
+ buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
- applicationId "com.alipay.hulu"
minSdkVersion 18
- targetSdkVersion 25
- multiDexEnabled true
+ targetSdkVersion rootProject.ext.targetSdkVersion
}
- packagingOptions {
- exclude 'META-INF/LICENSE'
- exclude 'META-INF/DEPENDENCIES'
+ lintOptions {
+ abortOnError false
}
buildTypes {
release {
- minifyEnabled true
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ consumerProguardFiles 'proguard-rules.pro'
}
debug {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- versionNameSuffix "-" + new Date().format("yyMMddHHmm")
+ consumerProguardFiles 'proguard-rules.pro'
}
}
-
-
- signingConfigs {
- release {
- v1SigningEnabled true
- v2SigningEnabled true
- }
- }
-
- dexOptions {
- javaMaxHeapSize "4g"
- }
}
dependencies {
- implementation 'com.android.support:support-v4:25.4.0'
- implementation 'com.android.support:support-core-utils:25.4.0'
- implementation 'com.android.support:appcompat-v7:25.4.0'
- implementation 'com.android.support:recyclerview-v7:25.4.0'
- implementation 'com.android.support:design:25.4.0'
+ implementation "androidx.legacy:legacy-support-v4:${ANDROIDX_SUPPORT_V4_VERSION}"
+ implementation "androidx.legacy:legacy-support-core-utils:${ANDROIDX_SUPPORT_CORE_UTILS_VERSION}"
+ implementation "androidx.appcompat:appcompat:${ANDROIDX_APPCOMPAT_VERSION}"
+ implementation "androidx.recyclerview:recyclerview:${ANDROIDX_RECYCLERVIEW_VERSION}"
+ implementation "com.google.android.material:material:${ANDROIDX_MATERIAL_VERSION}"
implementation 'com.github.lecho:hellocharts-library:1.5.8@aar'
- implementation 'com.alibaba:fastjson:1.1.71.android'
- implementation 'org.greenrobot:greendao:3.2.2'
+ implementation "com.alibaba:fastjson:${FASTJSON_VERSION}"
+ implementation 'org.greenrobot:greendao:3.3.0'
implementation 'com.squareup.okhttp3:okhttp:3.12.3'
- implementation 'com.dlazaro66.qrcodereaderview:qrcodereaderview:2.0.3'
- implementation 'com.liulishuo.filedownloader:library:1.7.6'
+ implementation 'com.liulishuo.filedownloader:library:1.7.7'
+ implementation 'cn.dreamtobe.filedownloader:filedownloader-okhttp3-connection:1.1.0'
implementation 'com.hyman:flowlayout-lib:1.1.2'
implementation 'com.yydcdut:sdlv:0.7.6'
implementation 'com.atlassian.commonmark:commonmark:0.13.0'
+ implementation "com.google.zxing:core:3.4.0"
implementation('com.theartofdev.edmodo:android-image-cropper:2.5.1') {
exclude group: "com.android.support"
}
- implementation('com.github.bumptech.glide:glide:4.9.0') {
+ implementation('com.github.bumptech.glide:glide:4.11.0') {
exclude group: "com.android.support"
}
- implementation 'commons-io:commons-io:2.6'
+ implementation "commons-io:commons-io:${COMMON_IO_VERSION}"
implementation ('com.orhanobut:logger:2.2.0') {
exclude group: "com.android.support"
}
- implementation 'com.android.support:multidex:1.0.3'
+ compileOnly "androidx.multidex:multidex:${ANDROIDX_MULTIDEX_VERSION}"
implementation project(':shared')
}
diff --git a/src/app/proguard-rules.pro b/src/app/proguard-rules.pro
index 5708bb4..1effb5d 100644
--- a/src/app/proguard-rules.pro
+++ b/src/app/proguard-rules.pro
@@ -25,57 +25,6 @@
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
--keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
--renamesourcefileattribute SourceFile
-
-#==================================【基本配置】==================================
-# 代码混淆压缩比,在0~7之间,默认为5,一般不下需要修改
--optimizationpasses 5
-# 混淆时不使用大小写混合,混淆后的类名为小写
-# windows下的同学还是加入这个选项吧(windows大小写不敏感)
--dontusemixedcaseclassnames
-# 指定不去忽略非公共的库的类
-# 默认跳过,有些情况下编写的代码与类库中的类在同一个包下,并且持有包中内容的引用,此时就需要加入此条声明
--dontskipnonpubliclibraryclasses
-# 指定不去忽略非公共的库的类的成员
--dontskipnonpubliclibraryclassmembers
-# 不做预检验,preverify是proguard的四个步骤之一
-# Android不需要preverify,去掉这一步可以加快混淆速度
--dontpreverify
-# 有了verbose这句话,混淆后就会生成映射文件
--verbose
-#apk 包内所有 class 的内部结构
--dump class_files.txt
-#未混淆的类和成员
--printseeds seeds.txt
-#列出从 apk 中删除的代码
--printusage unused.txt
-#混淆前后的映射
--printmapping mapping.txt
-# 指定混淆时采用的算法,后面的参数是一个过滤器
-# 这个过滤器是谷歌推荐的算法,一般不改变
--optimizations !code/simplification/artithmetic,!field/*,!class/merging/*
-# 保护代码中的Annotation不被混淆
-# 这在JSON实体映射时非常重要,比如fastJson
--keepattributes *Annotation*
-# 避免混淆泛型
-# 这在JSON实体映射时非常重要,比如fastJson
--keepattributes Signature
-# 抛出异常时保留代码行号
--keepattributes SourceFile,LineNumberTable
-#忽略警告
--ignorewarning
-#==================================【项目配置】==================================
-# 保留所有的本地native方法不被混淆
--keepclasseswithmembernames class * {
-native Copyright (c) 2013, Cameron Gutman -All rights reserved.
Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution.
Neither the name of the {organization} nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
BSD-3-Clause: https://opensource.org/licenses/BSD-3-Clause
Copyright (c) 2009-2012 James Coglan -Copyright (c) 2012 Eric Butler
Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the 'Software'), to deal in -the Software without restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the -Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions:
The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Copyright 2016 zhangke
Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable -law or agreed to in writing, software distributed under the License is distributed -on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express -or implied. See the License for the specific language governing permissions and -imitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright (C) 2016 Facishare Technology Co., Ltd. All Rights Reserved.
https://developer.android.com/topic/libraries/support-library
Copyright (C) 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright 2014 Joan Zapata
Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
HelloCharts -Copyright 2014 Leszek Wach
Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright 1999-2018 Alibaba Group Holding Ltd.
Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at following link.
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright (C) 2012-2017 Markus Junginger, greenrobot (http://greenrobot.org)
greenDAO binaries and source code can be used according to the Apache License, Version 2.0.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright 2017 David Lázaro
Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright (c) 2015 LingoChamp Inc.
Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Dual licensed under either the terms of Simplified BSD License, or alternatively under the terms of The Apache Software License, Version 2.0
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
BSD-3-Clause: https://opensource.org/licenses/BSD-3-Clause
Copyright © 2003-2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright (c) 2015-2019 Atlassian and others.
BSD (2-clause) licensed, see LICENSE.txt file.
BSD (2-clause): https://opensource.org/licenses/BSD-2-Clause
Copyright 2018 Orhan Obut
Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright 2015 yydcdut
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright 2015 hongyangAndroid
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Originally forked from edmodo/cropper.
Copyright 2016, Arthur Teplitzki, 2013, Edmodo, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright 2013, Edmodo, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright (c) 2014 Yrom Wang http://www.yrom.net
Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright (C) 2007 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
By downloading, copying, installing or using the software you agree to this license. If you do not agree to this license, do not download, install, copy or use the software.
License Agreement -For Open Source Computer Vision Library -(3-clause BSD License)
Copyright (C) 2000-2019, Intel Corporation, all rights reserved.Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved.Copyright (C) 2009-2016, NVIDIA Corporation, all rights reserved.Copyright (C) 2010-2013, Advanced Micro Devices, Inc., all rights reserved.Copyright (C) 2015-2016, OpenCV Foundation, all rights reserved.Copyright (C) 2015-2016, Itseez Inc., all rights reserved.Third party copyrights are property of their respective owners.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
This software is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall copyright holders or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
BSD-3-Clause: https://opensource.org/licenses/BSD-3-Clause
Copyright (C) 2016 Fabrice Bellard
This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
LGPL 2.1: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
Copyright © 2013 CyberAgent, Inc. -Copyright © 2016 The OpenSTF Project
Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright (c) 2013, Cameron Gutman +All rights reserved.
Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution.
Neither the name of the {organization} nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
BSD-3-Clause: https://opensource.org/licenses/BSD-3-Clause
Copyright (c) 2009-2012 James Coglan +Copyright (c) 2012 Eric Butler
Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the 'Software'), to deal in +the Software without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the +Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions:
The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Copyright 2016 zhangke
Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable +law or agreed to in writing, software distributed under the License is distributed +on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +or implied. See the License for the specific language governing permissions and +imitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright (C) 2016 Facishare Technology Co., Ltd. All Rights Reserved.
https://developer.android.com/topic/libraries/support-library
Copyright (C) 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright 2014 Joan Zapata
Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
HelloCharts +Copyright 2014 Leszek Wach
Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright 1999-2018 Alibaba Group Holding Ltd.
Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at following link.
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright (C) 2012-2017 Markus Junginger, greenrobot (http://greenrobot.org)
greenDAO binaries and source code can be used according to the Apache License, Version 2.0.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright 2017 David Lázaro
Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright (c) 2015 LingoChamp Inc.
Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
https://github.com/Jacksgong/filedownloader-okhttp3-connection
Copyright (C) 2016 Jacksgong(blog.dreamtobe.cn)
Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Dual licensed under either the terms of Simplified BSD License, or alternatively under the terms of The Apache Software License, Version 2.0
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
BSD-3-Clause: https://opensource.org/licenses/BSD-3-Clause
Copyright © 2003-2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright (c) 2015-2019 Atlassian and others.
BSD (2-clause) licensed, see LICENSE.txt file.
BSD (2-clause): https://opensource.org/licenses/BSD-2-Clause
Copyright 2018 Orhan Obut
Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright 2015 yydcdut
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright 2015 hongyangAndroid
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Originally forked from edmodo/cropper.
Copyright 2016, Arthur Teplitzki, 2013, Edmodo, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright 2013, Edmodo, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright (c) 2014 Yrom Wang http://www.yrom.net
Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright (C) 2007 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
By downloading, copying, installing or using the software you agree to this license. If you do not agree to this license, do not download, install, copy or use the software.
License Agreement +For Open Source Computer Vision Library +(3-clause BSD License)
Copyright (C) 2000-2019, Intel Corporation, all rights reserved.Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved.Copyright (C) 2009-2016, NVIDIA Corporation, all rights reserved.Copyright (C) 2010-2013, Advanced Micro Devices, Inc., all rights reserved.Copyright (C) 2015-2016, OpenCV Foundation, all rights reserved.Copyright (C) 2015-2016, Itseez Inc., all rights reserved.Third party copyrights are property of their respective owners.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
This software is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall copyright holders or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
BSD-3-Clause: https://opensource.org/licenses/BSD-3-Clause
Copyright (C) 2016 Fabrice Bellard
This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
LGPL 2.1: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
Copyright © 2013 CyberAgent, Inc. +Copyright © 2016 The OpenSTF Project
Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
Copyright (C) 2018 Genymobile +Copyright (C) 2018-2019 Romain Vimont
Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.
Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0