Skip to content

Commit 07e828d

Browse files
author
jordanqin
committed
update qcloud sdk to 5.9.16
1 parent 83173e8 commit 07e828d

File tree

41 files changed

+598
-490
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+598
-490
lines changed

QCloudCosXml/cos-android-base/src/main/java/com/tencent/cos/xml/BaseCosXml.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ public interface BaseCosXml {
155155
* <p>
156156
* 上传一个分片块的同步方法.&nbsp;
157157
* <p>
158-
* 使用分块上传时,可将对象切分成一个个分块的方式上传到 COS,每个分块上传需要携带分块号(partNumber) 和 uploadId({@link #initMultipartUpload(InitMultipartUploadRequest)}),
158+
* 使用分块上传时,可将对象切分成一个个分块的方式上传到 COS,每个分块上传需要携带分块号(partNumber) 和 uploadId({SimpleCosXml#initMultipartUpload(InitMultipartUploadRequest)}),
159159
* 每个分块大小为 1 MB 到 5 GB ,最后一个分块可以小于 1 MB, 若传入 uploadId 和 partNumber都相同,
160160
* 后传入的块将覆盖之前传入的块,且支持乱序上传.
161161
* <p>
@@ -177,7 +177,7 @@ public interface BaseCosXml {
177177
* <p>
178178
* 上传一个分片块的异步方法.&nbsp;
179179
* <p>
180-
* 使用分块上传时,可将对象切分成一个个分块的方式上传到 COS,每个分块上传需要携带分块号(partNumber) 和 uploadId({@link #initMultipartUpload(InitMultipartUploadRequest)}),
180+
* 使用分块上传时,可将对象切分成一个个分块的方式上传到 COS,每个分块上传需要携带分块号(partNumber) 和 uploadId({SimpleCosXml#initMultipartUpload(InitMultipartUploadRequest)}),
181181
* 每个分块大小为 1 MB 到 5 GB ,最后一个分块可以小于 1 MB, 若传入 uploadId 和 partNumber都相同,
182182
* 后传入的块将覆盖之前传入的块,且支持乱序上传.
183183
* <p>

QCloudCosXml/cos-android-base/src/main/java/com/tencent/cos/xml/BeaconService.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -773,12 +773,6 @@ private CosXmlServiceException convertServerException(QCloudServiceException e)
773773
}
774774

775775
private CosXmlClientException convertClientException(QCloudClientException e) {
776-
//网络未连接的情况
777-
if (!TextUtils.isEmpty(e.getMessage()) &&
778-
e.getMessage().contains("NetworkNotConnected")) {
779-
return new CosXmlClientException(ClientErrorCode.NETWORK_NOT_CONNECTED.getCode(), e);
780-
}
781-
782776
CosXmlClientException xmlClientException;
783777
if (e instanceof CosXmlClientException) {
784778
xmlClientException = (CosXmlClientException) e;

QCloudCosXml/cos-android-base/src/main/java/com/tencent/cos/xml/CosXmlBaseService.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -608,7 +608,6 @@ public String getPresignedURL(CosXmlRequest cosXmlRequest) throws CosXmlClientEx
608608
* 获取 COS 对象的同步方法.&nbsp;
609609
* <p>
610610
* 详细介绍,请查看:{@link BaseCosXml#getObject(GetObjectRequest)}
611-
* </p>
612611
*/
613612
@Override
614613
public GetObjectResult getObject(GetObjectRequest request) throws CosXmlClientException, CosXmlServiceException {
@@ -620,7 +619,6 @@ public GetObjectResult getObject(GetObjectRequest request) throws CosXmlClientEx
620619
* 获取 COS 对象的异步方法.&nbsp;
621620
* <p>
622621
* 详细介绍,请查看:{@link BaseCosXml#getObjectAsync(GetObjectRequest, CosXmlResultListener)}
623-
* </p>
624622
*/
625623
@Override
626624
public void getObjectAsync(GetObjectRequest request, CosXmlResultListener cosXmlResultListener) {
@@ -646,7 +644,6 @@ public byte[] getObject(String bucketName, String objectName) throws CosXmlClien
646644
* 基础简单上传的同步方法.&nbsp;
647645
* <p>
648646
* 详细介绍,请查看:{@link BaseCosXml#basePutObject(BasePutObjectRequest)}
649-
* </p>
650647
*/
651648
@Override
652649
public BasePutObjectResult basePutObject(BasePutObjectRequest request) throws CosXmlClientException, CosXmlServiceException {
@@ -660,7 +657,6 @@ public BasePutObjectResult basePutObject(BasePutObjectRequest request) throws Co
660657
* 基础简单上传的异步方法.&nbsp;
661658
* <p>
662659
* 详细介绍,请查看:{@link BaseCosXml#basePutObjectAsync(BasePutObjectRequest, CosXmlResultListener)}
663-
* </p>
664660
*/
665661
@Override
666662
public void basePutObjectAsync(BasePutObjectRequest request, CosXmlResultListener cosXmlResultListener) {
@@ -674,7 +670,6 @@ public void basePutObjectAsync(BasePutObjectRequest request, CosXmlResultListene
674670
* 上传一个对象某个分片块的同步方法.&nbsp;
675671
* <p>
676672
* 详细介绍,请查看:{@link BaseCosXml#uploadPart(UploadPartRequest)}
677-
* </p>
678673
*/
679674
@Override
680675
public UploadPartResult uploadPart(UploadPartRequest request) throws CosXmlClientException, CosXmlServiceException {
@@ -686,7 +681,6 @@ public UploadPartResult uploadPart(UploadPartRequest request) throws CosXmlClien
686681
* 上传一个对象某个分片块的异步方法.&nbsp;
687682
* <p>
688683
* 详细介绍,请查看:{@link BaseCosXml#uploadPartAsync(UploadPartRequest, CosXmlResultListener)}
689-
* </p>
690684
*/
691685
@Override
692686
public void uploadPartAsync(UploadPartRequest request, CosXmlResultListener cosXmlResultListener) {

QCloudCosXml/cos-android-base/src/main/java/com/tencent/cos/xml/CosXmlServiceConfig.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -741,8 +741,6 @@ public Builder isHttps(boolean isHttps) {
741741
* 设置 Host 的格式化字符串,sdk 会将 ${bucket} 替换为真正的 bucket,${region} 替换为真正的 region,
742742
* 比如将 hostFormat 设置为 ${bucket}.${region}.tencent.com,并且您的存储桶和地域分别为 bucket-1250000000
743743
* 和 ap-shanghai,那么最终的请求地址为 bucket-1250000000.ap-shanghai.tencent.com
744-
*
745-
* </>
746744
* 注意,这个设置不会影响 GetService 请求,GetService 请求 Host 通过 {@link CosXmlBaseService#setDomain(String)} 设置
747745
*
748746
* @param hostFormat host 格式化字符串

QCloudCosXml/cos-android-base/src/main/java/com/tencent/cos/xml/common/ClientErrorCode.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,6 @@ public enum ClientErrorCode {
7171
* 网络出现异常,例如网络不可用,DNS 解析失败等
7272
*/
7373
POOR_NETWORK(20003, "NetworkError"),
74-
/**
75-
* 网络断开连接
76-
*/
77-
NETWORK_NOT_CONNECTED(20004, "NetworkNotConnected"),
7874

7975
/**
8076
* 用户已取消了请求

QCloudCosXml/cos-android-base/src/main/java/com/tencent/cos/xml/utils/DigestUtils.java

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -150,28 +150,38 @@ public static long getCRC64(InputStream inputStream, long skip, long size) {
150150
}
151151

152152
@Nullable public static String getCOSMd5(InputStream inputStream, long skip, long size) throws IOException {
153-
try{
154-
long skipNumber = inputStream.skip(skip);
155-
if (skipNumber != skip) {
156-
return "";
153+
try {
154+
long skipped = 0L;
155+
while (skipped < skip) {
156+
long result = inputStream.skip(skip - skipped);
157+
if (result == 0) {
158+
throw new IOException("Failed to skip requested bytes");
159+
}
160+
skipped += result;
157161
}
162+
158163
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
159164
byte[] buff = new byte[8 * 1024];
160165
int readLen;
161166
long remainLength = size >= 0 ? size : Long.MAX_VALUE;
162-
int needSize = (int) Math.min(remainLength, buff.length);
163-
while (remainLength > 0L && (readLen = inputStream.read(buff, 0, needSize))!= -1){
164-
if (readLen < needSize) {
165-
return "";
167+
168+
while (remainLength > 0L) {
169+
int needSize = (int) Math.min(remainLength, buff.length);
170+
readLen = 0;
171+
while (readLen < needSize) {
172+
int result = inputStream.read(buff, readLen, needSize - readLen);
173+
if (result == -1) {
174+
throw new IOException("Unexpected end of stream");
175+
}
176+
readLen += result;
166177
}
167178
messageDigest.update(buff, 0, readLen);
168179
remainLength -= readLen;
169180
}
181+
170182
return "\"" + StringUtils.toHexString(messageDigest.digest()) + "\"";
171-
} catch (IOException e) {
172-
throw e;
173183
} catch (NoSuchAlgorithmException e) {
174-
throw new IOException("unSupport Md5 algorithm", e);
184+
throw new IOException("Unsupported MD5 algorithm", e);
175185
}
176186
}
177187

QCloudCosXml/cos-android-base/src/main/java/com/tencent/cos/xml/utils/FileUtils.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,23 +27,19 @@
2727
import com.tencent.cos.xml.CosXmlBaseService;
2828
import com.tencent.cos.xml.common.ClientErrorCode;
2929
import com.tencent.cos.xml.exception.CosXmlClientException;
30+
import com.tencent.qcloud.core.util.OkhttpInternalUtils;
3031

3132
import java.io.File;
3233
import java.io.FileInputStream;
3334
import java.io.FileOutputStream;
3435
import java.io.IOException;
3536
import java.io.InputStream;
3637

37-
import okhttp3.internal.Util;
38-
3938
/**
4039
* 文件工具类
4140
*/
4241

4342
public class FileUtils {
44-
45-
46-
4743
public static void saveInputStreamToTmpFile(InputStream stream, File file, long offset, long size) throws IOException {
4844
FileOutputStream fos = null;
4945
try {
@@ -64,7 +60,7 @@ public static void saveInputStreamToTmpFile(InputStream stream, File file, long
6460
}
6561
fos.flush();
6662
} finally {
67-
if(fos != null) Util.closeQuietly(fos);
63+
if(fos != null) OkhttpInternalUtils.closeQuietly(fos);
6864
}
6965
}
7066

QCloudCosXml/cos-android-base/src/main/java/com/tencent/cos/xml/utils/StringUtils.java

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,16 @@ public static String flat(Map<String, String> paras) {
7979

8080
/**
8181
* 提取一个完整路径的文件名,比如:
82-
*
83-
* resource/image/logo.png -> logo.png
84-
* resource/image/ -> image/
85-
* resource/image -> image
86-
* image/ -> image/
87-
* image -> image
82+
* <p>
83+
* resource/image/logo.png -&gt; logo.png
84+
* <p>
85+
* resource/image/ -&gt; image/
86+
* <p>
87+
* resource/image -&gt; image
88+
* <p>
89+
* image/ -&gt; image/
90+
* <p>
91+
* image -&gt; image
8892
*/
8993
public static String extractFileName(String absolutePath) {
9094

@@ -105,10 +109,12 @@ public static String extractFileName(String absolutePath) {
105109

106110
/**
107111
* 提取一个路径或者文件名中的名称(不含后缀),比如:
108-
*
109-
* resource/image/logo.png -> logo
110-
* logo.png -> logo
111-
* logo -> logo
112+
* <p>
113+
* resource/image/logo.png -&gt; logo
114+
* <p>
115+
* logo.png -&gt; logo
116+
* <p>
117+
* logo -&gt; logo
112118
*/
113119
public static String extractNameNoSuffix(String absolutePath) {
114120
String fileName = extractFileName(absolutePath);
@@ -127,10 +133,12 @@ public static String extractNameNoSuffix(String absolutePath) {
127133

128134
/**
129135
* 提取一个路径或者文件名中的后缀,比如:
130-
*
131-
* resource/image/logo.png -> .png
132-
* logo.png -> .png
133-
* logo ->
136+
* <p>
137+
* resource/image/logo.png -&gt; .png
138+
* <p>
139+
* logo.png -&gt; .png
140+
* <p>
141+
* logo -&gt;
134142
*/
135143
public static String extractSuffix(String absolutePath) {
136144
if (TextUtils.isEmpty(absolutePath)) {

QCloudCosXml/cos-android-ktx/build.gradle

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ android {
88
defaultConfig {
99
minSdkVersion 15
1010
targetSdkVersion 29
11-
versionCode 50701
12-
versionName "5.7.1"
11+
versionCode 50702
12+
versionName "5.7.2"
1313

1414
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
1515
consumerProguardFiles "consumer-rules.pro"
@@ -42,14 +42,8 @@ dependencies {
4242
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.4"
4343
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.4"
4444

45-
compile project(':foundation')
46-
compile (project(configuration: 'default', path: ':cos-android'))
47-
compileOnly project(':xmlAnnoation')
48-
compileOnly 'com.tencent.qcloud:beacon-android-release:4.1.13'
49-
// kms 加密
50-
compileOnly 'com.tencentcloudapi:tencentcloud-sdk-java-kms:3.1.213'
51-
compileOnly 'xerces:xercesImpl:2.12.0'
52-
45+
// compileOnly (project(configuration: 'default', path: ':cos-android'))
46+
compileOnly 'com.qcloud.cos:cos-android:5.9.15'
5347

5448
androidTestImplementation 'junit:junit:4.13.2'
5549
androidTestImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.3.4"

QCloudCosXml/cos-android-ktx/src/androidTest/java/com/tencent/cos/xml/ktx/COSXmlTest.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ import java.io.RandomAccessFile
1717
import java.util.*
1818

1919
/**
20-
* <p>
21-
* </p>
2220
* Created by wjielai on 2020/7/7.
2321
* Copyright 2010-2020 Tencent Cloud. All Rights Reserved.
2422
*/

0 commit comments

Comments
 (0)