Skip to content

Commit 79e36cd

Browse files
committed
update qcloud sdk to 5.5.7
1 parent d16de14 commit 79e36cd

Some content is hidden

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

44 files changed

+1119
-421
lines changed

QCloudCosXml/cosext/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ android {
2929
minSdkVersion 19
3030
targetSdkVersion 28
3131
versionCode sdkVersionCode
32-
versionName "5.5.6"
32+
versionName "5.5.7"
3333

3434
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
3535

QCloudCosXml/cosxml-ktx/build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ android {
88
defaultConfig {
99
minSdkVersion 15
1010
targetSdkVersion 29
11-
versionCode 50506
12-
versionName "5.5.6"
11+
versionCode 50507
12+
versionName "5.5.7"
1313

1414
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
1515
consumerProguardFiles "consumer-rules.pro"

QCloudCosXml/cosxml/build.gradle

+14-6
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,12 @@ android {
1515
minSdkVersion 15
1616
targetSdkVersion 28
1717

18-
versionCode 50506
19-
versionName "5.5.6"
18+
versionCode 50507
19+
versionName "5.5.7"
2020

2121
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
2222

23+
consumerProguardFiles 'proguard-rules.pro'
2324
}
2425

2526
buildTypes {
@@ -75,11 +76,11 @@ android {
7576
}
7677

7778
dependencies {
78-
compileOnly 'androidx.appcompat:appcompat:1.0.0'
79-
testCompileOnly 'junit:junit:4.12'
79+
compileOnly 'androidx.appcompat:appcompat:1.2.0'
80+
testCompileOnly 'junit:junit:4.13'
8081

81-
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
82-
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
82+
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
83+
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
8384
androidTestImplementation 'com.android.support.test:rules:1.0.2'
8485

8586
api project(path: ':foundation')
@@ -92,6 +93,8 @@ dependencies {
9293

9394
compileOnly project(':xmlAnnoation')
9495
annotationProcessor project(':xmlCompiler')
96+
97+
implementation 'com.tencent.qcloud:beacon-android-release:4.1.9'
9598
}
9699

97100

@@ -152,6 +155,11 @@ task(requestPermission) {
152155
println "Granting permissions"
153156
"${adb} shell pm grant ${testApplicationId} android.permission.WRITE_EXTERNAL_STORAGE".execute()
154157
"${adb} shell pm grant ${testApplicationId} android.permission.READ_EXTERNAL_STORAGE".execute()
158+
159+
160+
161+
// 禁止 UP-TO-DATE
162+
// outputs.upToDateWhen { false }
155163
}
156164

157165
preBuild.dependsOn "requestPermission"

QCloudCosXml/cosxml/proguard-rules.pro

+4
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,7 @@
2323
# If you keep the line number information, uncomment this to
2424
# hide the original source file name.
2525
#-renamesourcefileattribute SourceFile
26+
27+
# beacon
28+
-keep class com.tencent.beacon.** { *; }
29+
-keep class com.tencent.qmsp.** { *; }

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class TestConst {
2727
public static final String PERSIST_BUCKET_POST_OBJECT_PATH = "/do_not_remove/post_object";
2828
public static final String PERSIST_BUCKET_COPY_OBJECT_DST_PATH = "/do_not_remove/copy_dst_object";
2929

30-
public static final long PERSIST_BUCKET_SMALL_OBJECT_SIZE = 1024 * 1024;
30+
public static final long PERSIST_BUCKET_SMALL_OBJECT_SIZE = 1024;
3131
public static final long PERSIST_BUCKET_BIG_OBJECT_SIZE = 100 * 1024 * 1024;
3232
public static final String PERSIST_BUCKET_SMALL_OBJECT_PATH = "/do_not_remove/small_object";
3333
public static final String PERSIST_BUCKET_BIG_OBJECT_PATH = "/do_not_remove/big_object";

QCloudCosXml/cosxml/src/androidTest/java/com/tencent/cos/xml/core/TestUtils.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,6 @@ public static void sleep(long time) {
197197
}
198198

199199
public static String localParentPath() {
200-
return getContext().getExternalCacheDir().getAbsolutePath();
200+
return getContext().getApplicationContext().getFilesDir().getAbsolutePath();
201201
}
202202
}

QCloudCosXml/cosxml/src/androidTest/java/com/tencent/cos/xml/image/ImageTest.java

+47-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.tencent.cos.xml.image;
22

33
import android.os.Environment;
4+
import android.util.Log;
45

56
import androidx.test.ext.junit.runners.AndroidJUnit4;
67

@@ -21,8 +22,10 @@
2122
import com.tencent.cos.xml.model.tag.pic.PicOperationRule;
2223
import com.tencent.cos.xml.model.tag.pic.PicOperations;
2324
import com.tencent.cos.xml.model.tag.pic.PicUploadResult;
25+
import com.tencent.cos.xml.transfer.COSXMLUploadTask;
2426

2527
import org.junit.Assert;
28+
import org.junit.BeforeClass;
2629
import org.junit.Rule;
2730
import org.junit.Test;
2831
import org.junit.runner.RunWith;
@@ -40,9 +43,9 @@
4043
@RunWith(AndroidJUnit4.class)
4144
public class ImageTest {
4245

43-
final String localImageName ="/test_image.png";
46+
final static String localImageName ="/test_image.png";
4447

45-
private void downloadImageToLocalPath() {
48+
@BeforeClass public static void downloadImageToLocalPath() {
4649

4750
TestUtils.removeLocalFile(TestUtils.localPath(localImageName));
4851
GetObjectRequest getObjectRequest = new GetObjectRequest(TestConst.PERSIST_BUCKET,
@@ -56,9 +59,9 @@ private void downloadImageToLocalPath() {
5659
}
5760
}
5861

62+
// 通过 CosXmlService#putObject() 方法简单上传,返回 PutObjectResult
5963
@Test public void testPicOperationRule() {
6064

61-
downloadImageToLocalPath();
6265
PutObjectRequest putObjectRequest = new PutObjectRequest(TestConst.PERSIST_BUCKET,
6366
TestConst.PERSIST_BUCKET_PIC_PATH, TestUtils.localPath(localImageName));
6467
try {
@@ -77,17 +80,57 @@ private void downloadImageToLocalPath() {
7780
try {
7881
putObjectResult = ServiceFactory.INSTANCE.newDefaultService().putObject(putObjectRequest);
7982
PicUploadResult uploadResult = putObjectResult.picUploadResult();
83+
Assert.assertNotNull(uploadResult);
84+
Assert.assertFalse(uploadResult.processResults.isEmpty());
8085
Assert.assertEquals(200, putObjectResult.httpCode);
8186
} catch (Exception exception) {
8287
Assert.fail(exception.getMessage());
8388
}
8489
}
8590

91+
// 通过 TransferManager 分片上传,返回 CompleteMultiUploadResult
92+
@Test public void transferManagerUploadPic() {
93+
94+
final TestLocker testLocker = new TestLocker();
95+
List<PicOperationRule> rules = new LinkedList<>();
96+
// 添加一条将图片转化为 png 格式的 rule,处理后的图片在存储桶中的位置标识符为
97+
// examplepngobject
98+
rules.add(new PicOperationRule("examplepngobject", "imageView2/format/png"));
99+
rules.add(new PicOperationRule("examplepngobject1", "imageView2/format/png"));
100+
PicOperations picOperations = new PicOperations(true, rules);
101+
102+
PutObjectRequest putObjectRequest = new PutObjectRequest(TestConst.PERSIST_BUCKET,
103+
TestConst.PERSIST_BUCKET_PIC_PATH, TestUtils.localPath(localImageName));
104+
putObjectRequest.setPicOperations(picOperations);
105+
Log.i("transferManagerUploadPic", "start ");
106+
// 上传成功后,您将会得到 2 张图片,分别是原始图片和处理后图片
107+
COSXMLUploadTask cosxmlUploadTask = ServiceFactory.INSTANCE.newDefaultTransferManager().upload(putObjectRequest, "");
108+
cosxmlUploadTask.setCosXmlResultListener(new CosXmlResultListener() {
109+
@Override
110+
public void onSuccess(CosXmlRequest request, CosXmlResult result) {
111+
Log.i("transferManagerUploadPic", "onSuccess ");
112+
testLocker.release();
113+
}
114+
115+
@Override
116+
public void onFail(CosXmlRequest request, CosXmlClientException exception, CosXmlServiceException serviceException) {
117+
Log.i("transferManagerUploadPic", "onFail ");
118+
testLocker.release();
119+
}
120+
});
121+
Log.i("transferManagerUploadPic", "lock ");
122+
testLocker.lock();
123+
COSXMLUploadTask.COSXMLUploadTaskResult taskResult = (COSXMLUploadTask.COSXMLUploadTaskResult) cosxmlUploadTask.getResult();
124+
Assert.assertNotNull(taskResult.picUploadResult);
125+
Assert.assertNotNull(taskResult.picUploadResult.processResults);
126+
Assert.assertFalse(taskResult.picUploadResult.processResults.isEmpty());
127+
}
128+
86129
@Test public void testThumbnail() {
87130

88131
final TestLocker testLocker = new TestLocker(1);
89132
GetObjectRequest getObjectRequest = new GetObjectRequest(TestConst.PERSIST_BUCKET, TestConst.PERSIST_BUCKET_PIC_PATH,
90-
TestUtils.localParentPath(), "pic2.png");
133+
Environment.getExternalStorageDirectory().getAbsolutePath(), "pic2.png");
91134

92135
Map<String, String> paras = new HashMap<>();
93136
paras.put("imageMogr2/thumbnail/!50p", null);

QCloudCosXml/cosxml/src/androidTest/java/com/tencent/cos/xml/model/bucket/BucketTest.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,14 @@ public class BucketTest {
1414

1515
private RequestTestAdapter[] adapters = new RequestTestAdapter[] {
1616
new PutBucketTestAdapter(), new HeadBucketTestAdapter(),
17+
new PutBucketIntelligentTieringTestAdapter(), new GetBucketIntelligentTieringTestAdapter(),
1718
new GetBucketTestAdapter(), new DeleteBucketTestAdapter(),
1819
new PutBucketACLTestAdapter(), new GetBucketACLTestAdapter(),
1920
new PutBucketInventoryTestAdapter(), new GetBucketInventoryTestAdapter(), new DeleteBucketInventoryTestAdapter(),
2021
new PutBucketLoggingTestAdapter(), new GetBucketLoggingTestAdapter(),
2122
new PutBucketTaggingTestAdapter(), new GetBucketTaggingTestAdapter(),
2223
new PutBucketWebsiteTestAdapter(), new GetBucketWebsiteTestAdapter(), new DeleteBucketWebsiteTestAdapter(),
23-
new PutBucketDomainTestAdapter(), new GetBucketDomainTestAdapter(),
24+
new PutBucketDomainTestAdapter(), new GetBucketDomainTestAdapter()
2425
};
2526

2627
@Test public void testAsync() {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package com.tencent.cos.xml.model.bucket;
2+
3+
import com.tencent.cos.xml.CosXmlService;
4+
import com.tencent.cos.xml.core.TestConst;
5+
import com.tencent.cos.xml.exception.CosXmlClientException;
6+
import com.tencent.cos.xml.exception.CosXmlServiceException;
7+
import com.tencent.cos.xml.listener.CosXmlResultListener;
8+
import com.tencent.cos.xml.model.RequestTestAdapter;
9+
10+
// Generate by auto
11+
public class GetBucketIntelligentTieringTestAdapter extends RequestTestAdapter<GetBucketIntelligentTieringRequest, GetBucketIntelligentTieringResult> {
12+
@Override
13+
protected GetBucketIntelligentTieringRequest newRequestInstance() {
14+
return new GetBucketIntelligentTieringRequest(TestConst.TEMP_BUCKET);
15+
}
16+
17+
@Override
18+
protected GetBucketIntelligentTieringResult exeSync(GetBucketIntelligentTieringRequest request, CosXmlService cosXmlService) throws CosXmlClientException, CosXmlServiceException {
19+
return cosXmlService.getBucketIntelligentTiering(request);
20+
}
21+
22+
@Override
23+
protected void exeAsync(GetBucketIntelligentTieringRequest request, CosXmlService cosXmlService, CosXmlResultListener resultListener) {
24+
cosXmlService.getBucketIntelligentTieringAsync(request, resultListener);
25+
}
26+
27+
@Override
28+
protected void assertResult(GetBucketIntelligentTieringResult result) {
29+
super.assertResult(result);
30+
}
31+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.tencent.cos.xml.model.bucket;
2+
3+
import com.tencent.cos.xml.CosXmlService;
4+
import com.tencent.cos.xml.core.TestConst;
5+
import com.tencent.cos.xml.exception.CosXmlClientException;
6+
import com.tencent.cos.xml.exception.CosXmlServiceException;
7+
import com.tencent.cos.xml.listener.CosXmlResultListener;
8+
import com.tencent.cos.xml.model.RequestTestAdapter;
9+
10+
// Generate by auto
11+
public class GetBucketLocationTestAdapter extends RequestTestAdapter<GetBucketLocationRequest, GetBucketLocationResult> {
12+
@Override
13+
protected GetBucketLocationRequest newRequestInstance() {
14+
return new GetBucketLocationRequest(TestConst.PERSIST_BUCKET);
15+
}
16+
17+
@Override
18+
protected GetBucketLocationResult exeSync(GetBucketLocationRequest request, CosXmlService cosXmlService) throws CosXmlClientException, CosXmlServiceException {
19+
return cosXmlService.getBucketLocation(request);
20+
}
21+
22+
@Override
23+
protected void exeAsync(GetBucketLocationRequest request, CosXmlService cosXmlService, CosXmlResultListener resultListener) {
24+
cosXmlService.getBucketLocationAsync(request, resultListener);
25+
}
26+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.tencent.cos.xml.model.bucket;
2+
3+
import android.app.Instrumentation;
4+
5+
import com.tencent.cos.xml.CosXmlService;
6+
import com.tencent.cos.xml.core.TestConst;
7+
import com.tencent.cos.xml.exception.CosXmlClientException;
8+
import com.tencent.cos.xml.exception.CosXmlServiceException;
9+
import com.tencent.cos.xml.listener.CosXmlResultListener;
10+
import com.tencent.cos.xml.model.RequestTestAdapter;
11+
import com.tencent.cos.xml.model.tag.IntelligentTieringConfiguration;
12+
13+
// Generate by auto
14+
public class PutBucketIntelligentTieringTestAdapter extends RequestTestAdapter<PutBucketIntelligentTieringRequest, PutBucketIntelligentTieringResult> {
15+
@Override
16+
protected PutBucketIntelligentTieringRequest newRequestInstance() {
17+
PutBucketIntelligentTieringRequest request = new PutBucketIntelligentTieringRequest(TestConst.TEMP_BUCKET);
18+
request.setConfiguration(new IntelligentTieringConfiguration(PutBucketIntelligentTieringRequest.STATUS_ENABLED,
19+
30));
20+
return request;
21+
}
22+
23+
@Override
24+
protected PutBucketIntelligentTieringResult exeSync(PutBucketIntelligentTieringRequest request, CosXmlService cosXmlService) throws CosXmlClientException, CosXmlServiceException {
25+
return cosXmlService.putBucketIntelligentTiering(request);
26+
}
27+
28+
@Override
29+
protected void exeAsync(PutBucketIntelligentTieringRequest request, CosXmlService cosXmlService, CosXmlResultListener resultListener) {
30+
cosXmlService.putBucketIntelligentTieringAsync(request, resultListener);
31+
}
32+
}

QCloudCosXml/cosxml/src/androidTest/java/com/tencent/cos/xml/model/object/ObjectTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ public class ObjectTest {
3232
*/
3333
private RequestTestAdapter[] simpleTestAdapters = new RequestTestAdapter[] {
3434
new PutObjectTestAdapter(),
35-
// new PostObjectTestAdapter(),
3635
new GetObjectTestAdapter(),
36+
new PutObjectDeepArchiveTestAdapter(),
3737
new HeadObjectTestAdapter(),
3838
new OptionObjectTestAdapter(),
3939
new PutObjectACLTestAdapter(),
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.tencent.cos.xml.model.object;
2+
3+
import com.tencent.cos.xml.CosXmlService;
4+
import com.tencent.cos.xml.common.COSStorageClass;
5+
import com.tencent.cos.xml.core.TestConst;
6+
import com.tencent.cos.xml.core.TestUtils;
7+
import com.tencent.cos.xml.exception.CosXmlClientException;
8+
import com.tencent.cos.xml.exception.CosXmlServiceException;
9+
import com.tencent.cos.xml.listener.CosXmlResultListener;
10+
import com.tencent.cos.xml.model.RequestTestAdapter;
11+
12+
// Generate by auto
13+
public class PutObjectDeepArchiveTestAdapter extends RequestTestAdapter<PutObjectRequest, PutObjectResult> {
14+
@Override
15+
protected PutObjectRequest newRequestInstance() {
16+
PutObjectRequest putObjectRequest = new PutObjectRequest(TestConst.PERSIST_BUCKET, TestConst.PERSIST_BUCKET_SMALL_OBJECT_PATH.concat("_deepArchive"),
17+
TestUtils.smallFilePath());
18+
try {
19+
putObjectRequest.setRequestHeaders("x-cos-storage-class", COSStorageClass.DEEP_ARCHIVE.getStorageClass(), false);
20+
} catch (CosXmlClientException e) {
21+
e.printStackTrace();
22+
}
23+
return putObjectRequest;
24+
}
25+
26+
@Override
27+
protected PutObjectResult exeSync(PutObjectRequest request, CosXmlService cosXmlService) throws CosXmlClientException, CosXmlServiceException {
28+
return cosXmlService.putObject(request);
29+
}
30+
31+
@Override
32+
protected void exeAsync(PutObjectRequest request, CosXmlService cosXmlService, CosXmlResultListener resultListener) {
33+
cosXmlService.putObjectAsync(request, resultListener);
34+
}
35+
}

QCloudCosXml/cosxml/src/androidTest/java/com/tencent/cos/xml/model/object/PutObjectTestAdapter.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@
1212
public class PutObjectTestAdapter extends RequestTestAdapter<PutObjectRequest, PutObjectResult> {
1313
@Override
1414
protected PutObjectRequest newRequestInstance() {
15-
return new PutObjectRequest(TestConst.PERSIST_BUCKET, TestConst.PERSIST_BUCKET_SMALL_OBJECT_PATH,
15+
PutObjectRequest putObjectRequest = new PutObjectRequest(TestConst.PERSIST_BUCKET, TestConst.PERSIST_BUCKET_SMALL_OBJECT_PATH,
1616
TestUtils.smallFilePath());
17+
return putObjectRequest;
1718
}
1819

1920
@Override

0 commit comments

Comments
 (0)