Skip to content

Commit a7222aa

Browse files
author
jordanqin
committed
update qcloud sdk to 5.9.23
1 parent db69e4d commit a7222aa

File tree

12 files changed

+99
-18
lines changed

12 files changed

+99
-18
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 50920
10-
versionName '5.9.20'
9+
versionCode 50921
10+
versionName '5.9.21'
1111

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

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,7 @@ protected <T1 extends CosXmlRequest, T2 extends CosXmlResult> T2 execute(T1 cosX
428428
httpTask.setTransferThreadControl(config.isTransferThreadControl());
429429
httpTask.setUploadMaxThreadCount(config.getUploadMaxThreadCount());
430430
httpTask.setDownloadMaxThreadCount(config.getDownloadMaxThreadCount());
431+
httpTask.setDomainSwitch(config.isDomainSwitch());
431432
cosXmlRequest.setTask(httpTask);
432433

433434
setProgressListener(cosXmlRequest, httpTask, false);
@@ -493,7 +494,7 @@ public void onFailure(QCloudClientException clientException, QCloudServiceExcept
493494
httpTask.setTransferThreadControl(config.isTransferThreadControl());
494495
httpTask.setUploadMaxThreadCount(config.getUploadMaxThreadCount());
495496
httpTask.setDownloadMaxThreadCount(config.getDownloadMaxThreadCount());
496-
497+
httpTask.setDomainSwitch(config.isDomainSwitch());
497498
cosXmlRequest.setTask(httpTask);
498499

499500
setProgressListener(cosXmlRequest, httpTask, true);

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ public class CosXmlServiceConfig implements Parcelable {
108108
private final boolean transferThreadControl;
109109
private final int uploadMaxThreadCount;
110110
private final int downloadMaxThreadCount;
111+
private final boolean domainSwitch;
111112

112113
public CosXmlServiceConfig(Builder builder) {
113114
this.protocol = builder.protocol;
@@ -145,6 +146,7 @@ public CosXmlServiceConfig(Builder builder) {
145146
this.transferThreadControl = builder.transferThreadControl;
146147
this.uploadMaxThreadCount = builder.uploadMaxThreadCount;
147148
this.downloadMaxThreadCount = builder.downloadMaxThreadCount;
149+
this.domainSwitch = builder.domainSwitch;
148150
}
149151

150152
public Builder newBuilder() {
@@ -403,6 +405,10 @@ public int getDownloadMaxThreadCount() {
403405
return downloadMaxThreadCount;
404406
}
405407

408+
public boolean isDomainSwitch() {
409+
return domainSwitch;
410+
}
411+
406412
@Deprecated
407413
public String getEndpointSuffix() {
408414
return getEndpointSuffix(region, false);
@@ -606,6 +612,7 @@ public final static class Builder {
606612
private boolean transferThreadControl = true;
607613
private int uploadMaxThreadCount;
608614
private int downloadMaxThreadCount;
615+
private boolean domainSwitch;
609616

610617
public Builder() {
611618
protocol = HTTPS_PROTOCOL;
@@ -614,6 +621,7 @@ public Builder() {
614621
bucketInPath = false;
615622
uploadMaxThreadCount = TaskExecutors.UPLOAD_THREAD_COUNT;
616623
downloadMaxThreadCount = TaskExecutors.DOWNLOAD_THREAD_COUNT;
624+
domainSwitch = true;
617625
}
618626

619627
public Builder(CosXmlServiceConfig config) {
@@ -652,6 +660,7 @@ public Builder(CosXmlServiceConfig config) {
652660
transferThreadControl = config.transferThreadControl;
653661
uploadMaxThreadCount = config.uploadMaxThreadCount;
654662
downloadMaxThreadCount = config.downloadMaxThreadCount;
663+
domainSwitch = config.domainSwitch;
655664
}
656665

657666
/**
@@ -703,6 +712,11 @@ public Builder setDownloadMaxThreadCount(int downloadMaxThreadCount) {
703712
return this;
704713
}
705714

715+
public Builder setDomainSwitch(boolean domainSwitch) {
716+
this.domainSwitch = domainSwitch;
717+
return this;
718+
}
719+
706720
/**
707721
* 设置是否 Https 协议,默认为 Https
708722
*

QCloudCosXml/cos-android/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,8 @@ android {
8989
}
9090

9191
// 切换发 normal 或者 slim 包,需要同步修改 pom.artifactId 信息
92-
// defaultPublishConfig "normalRelease"
93-
defaultPublishConfig "slimRelease"
92+
defaultPublishConfig "normalRelease"
93+
// defaultPublishConfig "slimRelease"
9494

9595
compileOptions {
9696
sourceCompatibility = JavaVersion.VERSION_1_8

QCloudCosXml/cos-android/proguard-rules.pro

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,6 @@
2929

3030
#foundation
3131
-keep class com.tencent.qcloud.core.**{*;}
32+
-keep class com.tencent.qcloud.qcloudxml.core.**{*;}
3233
-keep class com.tencent.qcloud.cos.**{*;}
3334

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

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
import android.app.Application;
44

5-
import com.tencent.qcloud.track.BuildConfig;
6-
75
/**
86
* <p>
97
* Created by jordanqin on 2023/9/14 21:38.
@@ -17,10 +15,10 @@ public void onCreate() {
1715
}
1816

1917
private void trackInit(){
20-
CosTrackService.initCLs(this,
21-
"9ab664b4-f657-4ef9-8b8c-305b819e477d",
22-
"ap-guangzhou.cls.tencentcs.com",
23-
BuildConfig.CLS_SECRET_ID,
24-
BuildConfig.CLS_SECRET_KEY);
18+
// CosTrackService.initCLs(this,
19+
// "9ab664b4-f657-4ef9-8b8c-305b819e477d",
20+
// "ap-guangzhou.cls.tencentcs.com",
21+
// BuildConfig.CLS_SECRET_ID,
22+
// BuildConfig.CLS_SECRET_KEY);
2523
}
2624
}

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

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
package com.tencent.cos.xml.common;
2424

2525
import static org.junit.Assert.assertEquals;
26+
import static org.junit.Assert.assertFalse;
27+
import static org.junit.Assert.assertTrue;
2628

2729
import android.os.Environment;
2830

@@ -42,6 +44,7 @@
4244
import com.tencent.cos.xml.utils.DigestUtils;
4345
import com.tencent.qcloud.core.http.RequestBodySerializer;
4446
import com.tencent.qcloud.core.logger.QCloudLogger;
47+
import com.tencent.qcloud.core.util.DomainSwitchUtils;
4548

4649
import org.junit.Assert;
4750
import org.junit.Test;
@@ -276,4 +279,24 @@ public void onProgress(long complete, long target) {
276279
}
277280
Assert.assertTrue(true);
278281
}
282+
283+
@Test
284+
public void testIsMyqcloudUrl(){
285+
String[] testUrls = {
286+
"ut-1257101689.cos.ap-chengdu.myqcloud.com",
287+
"ut-1257101689.cos.ap-guangzhou.myqcloud.com",
288+
"examplebucket-1250000000.file.myqcloud.com",
289+
"ut-1257101689.cos.accelerate.myqcloud.com",
290+
"service.cos.myqcloud.com",
291+
"cos.ap-guangzhou.myqcloud.com",
292+
"exampledomain.com"
293+
};
294+
assertTrue(DomainSwitchUtils.isMyqcloudUrl(testUrls[0]));
295+
assertTrue(DomainSwitchUtils.isMyqcloudUrl(testUrls[1]));
296+
assertFalse(DomainSwitchUtils.isMyqcloudUrl(testUrls[2]));
297+
assertFalse(DomainSwitchUtils.isMyqcloudUrl(testUrls[3]));
298+
assertFalse(DomainSwitchUtils.isMyqcloudUrl(testUrls[4]));
299+
assertFalse(DomainSwitchUtils.isMyqcloudUrl(testUrls[5]));
300+
assertFalse(DomainSwitchUtils.isMyqcloudUrl(testUrls[6]));
301+
}
279302
}

QCloudCosXml/cos-android/src/androidTest/java/com/tencent/cos/xml/quic/QuicTest.java

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,19 +46,20 @@
4646
import com.tencent.cos.xml.transfer.TransferManager;
4747
import com.tencent.cos.xml.transfer.TransferState;
4848
import com.tencent.cos.xml.transfer.TransferStateListener;
49+
import com.tencent.qcloud.core.logger.QCloudLogger;
50+
import com.tencent.qcloud.quic.QuicClientImpl;
51+
import com.tencent.tquic.impl.TnetConfig;
4952

5053
import org.junit.Test;
5154
import org.junit.runner.RunWith;
5255

5356
import java.io.File;
5457
import java.util.concurrent.atomic.AtomicInteger;
5558

56-
import static com.tencent.cos.xml.core.TestUtils.isQuicSupportDevice;
57-
5859
@RunWith(AndroidJUnit4.class)
5960
public class QuicTest {
6061

61-
private final boolean testQuic = isQuicSupportDevice() && TestConst.QUIC_TEST;
62+
private final boolean testQuic = TestConst.QUIC_TEST;
6263

6364
@Test
6465
public void testUploadSmallFileByPath() {
@@ -67,6 +68,13 @@ public void testUploadSmallFileByPath() {
6768
return;
6869
}
6970

71+
QuicClientImpl.setTnetConfig(
72+
new TnetConfig.Builder()
73+
// .enableCongetionOptimization(true)
74+
// .setTotalTimeoutMillis(1000)
75+
.build()
76+
);
77+
7078
TransferManager transferManager = ServiceFactory.INSTANCE.newQuicTransferManager();
7179
PutObjectRequest putObjectRequest = new PutObjectRequest(TestConst.QUIC_BUCKET,
7280
TestConst.PERSIST_BUCKET_SMALL_OBJECT_PATH, TestUtils.smallFilePath());
@@ -161,7 +169,12 @@ public void testUploadBigFileByPath() {
161169
TestUtils.bigFilePath(), null);
162170

163171
final TestLocker testLocker = new TestLocker();
164-
172+
uploadTask.setCosXmlProgressListener(new CosXmlProgressListener() {
173+
@Override
174+
public void onProgress(long complete, long target) {
175+
QCloudLogger.i("QCloudTest", "transfer progress is %d/%d", complete, target);
176+
}
177+
});
165178
uploadTask.setCosXmlResultListener(new CosXmlResultListener() {
166179
@Override
167180
public void onSuccess(CosXmlRequest request, CosXmlResult result) {
@@ -266,6 +279,12 @@ public void testBigDownload() {
266279
getObjectRequest);
267280

268281
final TestLocker testLocker = new TestLocker();
282+
downloadTask.setCosXmlProgressListener(new CosXmlProgressListener() {
283+
@Override
284+
public void onProgress(long complete, long target) {
285+
QCloudLogger.i("QCloudTest", "transfer progress is %d/%d", complete, target);
286+
}
287+
});
269288
downloadTask.setCosXmlResultListener(new CosXmlResultListener() {
270289
@Override
271290
public void onSuccess(CosXmlRequest request, CosXmlResult result) {

QCloudCosXml/cos-android/src/androidTest/java/com/tencent/cos/xml/transfer/DownloadTest.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -452,4 +452,22 @@ public void onFail(CosXmlRequest request, @Nullable CosXmlClientException client
452452
}
453453
Assert.assertTrue(true);
454454
}
455+
456+
@Test public void testSmallDownloadToFile() {
457+
CosXmlSimpleService cosXmlSimpleService = ServiceFactory.INSTANCE.newDefaultService();
458+
459+
GetObjectRequest getObjectRequest = new GetObjectRequest(TestConst.PERSIST_BUCKET,
460+
TestConst.PERSIST_BUCKET_SMALL_OBJECT_PATH,
461+
TestUtils.localParentPath());
462+
try {
463+
cosXmlSimpleService.getObject(getObjectRequest);
464+
} catch (CosXmlClientException e) {
465+
Assert.fail(e.getMessage());
466+
return;
467+
} catch (CosXmlServiceException e) {
468+
Assert.fail(e.getMessage());
469+
return;
470+
}
471+
Assert.assertTrue(true);
472+
}
455473
}

QCloudCosXml/cos-android/src/androidTestNormal/java/com/tencent/cos/xml/OtherTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ public void testTagging(){
6767
String region = TestConst.PERSIST_BUCKET_REGION;
6868
String bucket = TestConst.PERSIST_BUCKET;
6969
String cosPath = "do_not_remove/";
70+
// String cosPath = "urlencode/大大大1001@#¥%……&(&¥%@#@¥~:“《?SFDAREEBRTERTU - Trim(1)_20231205T140242823Z/";
71+
// String cosPath = "urlencode/~/";
7072

7173
CosXmlService cosXmlService = NormalServiceFactory.INSTANCE.newDefaultService();
7274

0 commit comments

Comments
 (0)