Skip to content

Commit 92cf26f

Browse files
author
jordanqin
committed
update qcloud sdk to 5.9.32
1 parent 10a9f0a commit 92cf26f

File tree

203 files changed

+19227
-248
lines changed

Some content is hidden

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

203 files changed

+19227
-248
lines changed

QCloudCosXml/cos-android-base/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ android {
66
minSdkVersion 15
77
targetSdkVersion 28
88

9-
versionCode 50929
10-
versionName '5.9.29'
9+
versionCode 50930
10+
versionName '5.9.30'
1111

1212
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
1313

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

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import com.tencent.cos.xml.model.object.GetObjectBytesResult;
4242
import com.tencent.cos.xml.model.object.GetObjectRequest;
4343
import com.tencent.cos.xml.model.object.GetObjectResult;
44+
import com.tencent.cos.xml.model.object.SaveLocalRequest;
4445
import com.tencent.cos.xml.model.object.UploadPartRequest;
4546
import com.tencent.cos.xml.model.object.UploadPartResult;
4647
import com.tencent.cos.xml.model.object.UploadRequest;
@@ -385,16 +386,16 @@ protected String getRequestHost(CosXmlRequest request) throws CosXmlClientExcept
385386
httpRequestBuilder.body(cosXmlRequest.getRequestBody());
386387
}
387388

388-
if (cosXmlRequest instanceof GetObjectRequest) {
389-
GetObjectRequest getObjectRequest = (GetObjectRequest) cosXmlRequest;
390-
if (!TextUtils.isEmpty(getObjectRequest.getDownloadPath())) {
389+
if (cosXmlRequest instanceof SaveLocalRequest) {
390+
SaveLocalRequest saveLocalRequest = (SaveLocalRequest) cosXmlRequest;
391+
if (!TextUtils.isEmpty(saveLocalRequest.getSaveLocalPath())) {
391392
httpRequestBuilder.converter(new ResponseFileBodySerializer<T2>((GetObjectResult) cosXmlResult,
392-
getObjectRequest.getDownloadPath(), getObjectRequest.getFileOffset()));
393-
} else if (getObjectRequest.getFileContentUri() != null) {
393+
saveLocalRequest.getSaveLocalPath(), saveLocalRequest.getSaveLocalOffset()));
394+
} else if (saveLocalRequest.getSaveLocalUri() != null) {
394395
httpRequestBuilder.converter(new ResponseFileBodySerializer<T2>((GetObjectResult) cosXmlResult,
395-
getObjectRequest.getFileContentUri(),
396+
saveLocalRequest.getSaveLocalUri(),
396397
ContextHolder.getAppContext().getContentResolver(),
397-
getObjectRequest.getFileOffset()));
398+
saveLocalRequest.getSaveLocalOffset()));
398399
}
399400
} else if (cosXmlRequest instanceof GetObjectBytesRequest) {
400401
httpRequestBuilder.converter(new ResponseBytesConverter<T2>((GetObjectBytesResult) cosXmlResult));
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.tencent.cos.xml.model;
2+
3+
import com.tencent.cos.xml.exception.CosXmlClientException;
4+
import com.tencent.cos.xml.exception.CosXmlServiceException;
5+
import com.tencent.qcloud.core.http.HttpResponse;
6+
7+
/**
8+
* 空响应结果
9+
* <p>
10+
* Created by jordanqin on 2024/7/18 14:52.
11+
* Copyright 2010-2020 Tencent Cloud. All Rights Reserved.
12+
*/
13+
public class EmptyResponseResult extends CosXmlResult {
14+
/**
15+
* @see CosXmlResult#parseResponseBody(HttpResponse)
16+
*/
17+
@Override
18+
public void parseResponseBody(HttpResponse response) throws CosXmlClientException, CosXmlServiceException {
19+
super.parseResponseBody(response);
20+
}
21+
}

QCloudCosXml/cos-android-base/src/main/java/com/tencent/cos/xml/model/object/GetObjectRequest.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
* @see BaseCosXml#getObject(GetObjectRequest)
4646
* @see BaseCosXml#getObjectAsync(GetObjectRequest, CosXmlResultListener)
4747
*/
48-
public class GetObjectRequest extends ObjectRequest implements TransferRequest {
48+
public class GetObjectRequest extends ObjectRequest implements SaveLocalRequest, TransferRequest {
4949

5050
private String rspContentType;
5151
private String rspContentLanguage;
@@ -365,6 +365,21 @@ public Uri getFileContentUri() {
365365
return fileContentUri;
366366
}
367367

368+
@Override
369+
public String getSaveLocalPath() {
370+
return getDownloadPath();
371+
}
372+
373+
@Override
374+
public Uri getSaveLocalUri() {
375+
return getFileContentUri();
376+
}
377+
378+
@Override
379+
public long getSaveLocalOffset() {
380+
return getFileOffset();
381+
}
382+
368383
@Override
369384
public String getMethod() {
370385
return RequestMethod.GET;
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.tencent.cos.xml.model.object;
2+
3+
import android.net.Uri;
4+
5+
/**
6+
* 需要将body保存到本地的请求
7+
* <p>
8+
* Created by jordanqin on 2023/12/25 17:30.
9+
* Copyright 2010-2020 Tencent Cloud. All Rights Reserved.
10+
*/
11+
public interface SaveLocalRequest {
12+
/**
13+
* 获取文件本地保存路径
14+
* @return 本地保存路径
15+
*/
16+
String getSaveLocalPath();
17+
18+
/**
19+
* 获取文件本地保存uri
20+
* @return 本地保存uri
21+
*/
22+
Uri getSaveLocalUri();
23+
24+
long getSaveLocalOffset();
25+
}

QCloudCosXml/cos-android/src/androidTest/java/com/tencent/cos/xml/common/OneTimeCredentialTest.java

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,52 @@ public void onFail(CosXmlClientException exception, CosXmlServiceException servi
345345
testLocker.lock();
346346
}
347347

348+
@Test
349+
public void testPreBuildConnectionFail() {
350+
CosXmlSimpleService cosXmlService = ServiceFactory.INSTANCE.newAnonymousService();
351+
PreBuildConnectionRequest request = new PreBuildConnectionRequest(TestConst.PERSIST_BUCKET);
352+
boolean b1 = cosXmlService.preBuildConnection(request);
353+
354+
PreBuildConnectionRequest request1 = new PreBuildConnectionRequest("fail-1253960454");
355+
boolean b2 = cosXmlService.preBuildConnection(request1);
356+
357+
final boolean[] b3 = {false};
358+
final TestLocker testLocker = new TestLocker();
359+
cosXmlService.preBuildConnectionAsync(request, new CosXmlResultSimpleListener() {
360+
@Override
361+
public void onSuccess() {
362+
b3[0] = true;
363+
testLocker.release();
364+
}
365+
366+
@Override
367+
public void onFail(CosXmlClientException exception, CosXmlServiceException serviceException) {
368+
b3[0] = false;
369+
testLocker.release();
370+
}
371+
});
372+
testLocker.lock();
373+
374+
final boolean[] b4 = {false};
375+
final TestLocker testLocker1 = new TestLocker();
376+
PreBuildConnectionRequest request2 = new PreBuildConnectionRequest("fail-1253960454");
377+
cosXmlService.preBuildConnectionAsync(request2, new CosXmlResultSimpleListener() {
378+
@Override
379+
public void onSuccess() {
380+
b4[0] = false;
381+
testLocker1.release();
382+
}
383+
384+
@Override
385+
public void onFail(CosXmlClientException exception, CosXmlServiceException serviceException) {
386+
b4[0] = true;
387+
testLocker1.release();
388+
}
389+
});
390+
Assert.assertTrue(b1 && !b2 && b3[0] &&!b4[0]);
391+
testLocker1.lock();
392+
}
393+
348394
@Test
349395
public void testHeadObject() {
350396
CosXmlSimpleService cosXmlService = ServiceFactory.INSTANCE.newAnonymousService();

QCloudCosXml/cos-android/src/androidTest/java/com/tencent/cos/xml/core/TestConst.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@ public class TestConst {
5050
public static final String AUDIT_BUCKET_DOCUMENT = "student.ppt";
5151
public static final String AUDIT_WEBPAGE = "https://tech.meituan.com/2021/06/10/react-native-hybrid-practice-dsl-in-meituan.html";
5252

53+
// AI内容识别
54+
public static final String AI_RECOGNITION_BUCKET = "ai-recognition-1253960454";
55+
public static final String AI_RECOGNITION_IMAGE = "image.jpg";
56+
5357
//声音识别
5458
public static final String ASR_BUCKET_REGION = "ap-guangzhou";
5559
public static final String ASR_BUCKET = "ci-auditing-sample-1253960454";

0 commit comments

Comments
 (0)