diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index cfb4960b..e8e2e12e 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -4,6 +4,7 @@
-
diff --git a/.idea/misc.xml b/.idea/misc.xml
index d5328a40..d882d5e4 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,4 +1,6 @@
+
+
diff --git a/CHANGELOG.md b/CHANGELOG.md
index fbbb7b4d..4e387b09 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,8 @@
#Changelog
+## 8.9.0(2025-06-12)
+* 调整
+ * 分片上传版本默认调整为 V2
+
## 8.8.0(2024-06-24)
* 增加
* 上传支持加速域名
diff --git a/README.md b/README.md
index b8ce6d67..c5b8007e 100644
--- a/README.md
+++ b/README.md
@@ -15,6 +15,7 @@ https://github.com/qiniudemo/qiniu-lab-android
| Qiniu SDK 版本 | 最低 Android版本 | 依赖库版本 |
|--------------|-----------------|------------------------|
+| 8.9.x | Android 4.0+ | okhttp 4+ |
| 8.8.x | Android 4.0+ | okhttp 4+ |
| 8.7.x | Android 4.0+ | okhttp 4+ |
| 8.6.x | Android 4.0+ | okhttp 4+ |
@@ -56,10 +57,10 @@ https://github.com/qiniudemo/qiniu-lab-android
* Android Studio中添加dependencies 或者 在项目中添加maven依赖
```
// 1. 直接导入
-implementation 'com.qiniu:qiniu-android-sdk:8.8.+'
+implementation 'com.qiniu:qiniu-android-sdk:8.9.+'
// 2. 如果要修改okhttp依赖的版本,可采用以下方式(强烈建议使用七牛库依赖的okhttp版本)
-implementation ('com.qiniu:qiniu-android-sdk:8.8.+'){
+implementation ('com.qiniu:qiniu-android-sdk:8.9.+'){
exclude (group: 'com.squareup.okhttp3', module: 'okhttp')
}
implementation 'com.squareup.okhttp3:okhttp:4.9.1'
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index ec638e58..bbc5132c 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Thu Jul 06 18:09:15 CST 2023
+#Tue Jun 10 16:58:52 CST 2025
distributionBase=GRADLE_USER_HOME
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.2-bin.zip
distributionPath=wrapper/dists
-zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/library/build.gradle b/library/build.gradle
index ea782b26..2e7124da 100755
--- a/library/build.gradle
+++ b/library/build.gradle
@@ -20,12 +20,11 @@ String version = versionName()
int code = versionNameToCode(version)
android {
- compileSdkVersion 33
-// buildToolsVersion '29.0.3'
+ namespace 'com.qiniu.android'
+ compileSdk 33
+
defaultConfig {
- //applicationId "com.qiniu.android"
minSdkVersion 14
- targetSdkVersion 33
versionCode code
versionName version
@@ -67,8 +66,8 @@ dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
androidTestImplementation 'junit:junit:4.13.2'
- androidTestImplementation 'androidx.test.ext:junit:1.1.5'
- androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
+ androidTestImplementation 'androidx.test.ext:junit:1.2.1'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'
// androidTestImplementation "androidx.test:runner:1.4.0"
// androidTestImplementation "androidx.test:core:1.4.0"
@@ -81,7 +80,7 @@ dependencies {
task releaseJar(type: Jar, dependsOn: 'build') {
//指定生成的jar名
- baseName('qiniu-android-sdk-' + version)
+ archiveBaseName = ('qiniu-android-sdk-' + version + '.jar')
//从哪里打包class文件
// from('build/intermediates/classes/release/com/qiniu/android/dns/')
//打包到jar后的目录结构
diff --git a/library/gradle.properties b/library/gradle.properties
index a772ef80..632ada9f 100755
--- a/library/gradle.properties
+++ b/library/gradle.properties
@@ -2,5 +2,4 @@ POM_NAME=qiniu-android-sdk-library
POM_ARTIFACT_ID=qiniu-android-sdk
POM_PACKAGING=aar
android.debug.obsoleteApi=true
-android.enableAapt2=false
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
\ No newline at end of file
diff --git a/library/src/androidTest/java/com/qiniu/android/TestConfig.java b/library/src/androidTest/java/com/qiniu/android/TestConfig.java
index 2500a381..701ce1bd 100644
--- a/library/src/androidTest/java/com/qiniu/android/TestConfig.java
+++ b/library/src/androidTest/java/com/qiniu/android/TestConfig.java
@@ -1,76 +1,74 @@
package com.qiniu.android;
-import com.qiniu.android.common.FixedZone;
-import com.qiniu.android.common.Zone;
-
/**
- * Created by bailong on 14/10/12.
+ * @author Created by bailong on 14/10/12.
+ * 测试用例参数配置
*/
public final class TestConfig {
// TODO: 2020-05-09 bad token for testPutBytesWithFixedZoneUseBackupDomains
- // 华东上传凭证
- public static final String bucket_z0 = "kodo-phone-zone0-space";
- public static final String token_z0 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:gHBZrJTOKxxJlXjYoUxWmRSvuU8=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZTAtc3BhY2UiLCJkZWFkbGluZSI6MTcyMTcwMDU5MiwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
- // 华北上传凭证
- public static final String bucket_z1 = "kodo-phone-zone1-space";
- public static final String token_z1 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:8kFB5kF7f3INNSUZLToOBDTGMbU=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZTEtc3BhY2UiLCJkZWFkbGluZSI6MTcyMTcwMDU5MiwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
- // 华南上传凭证
- public static final String bucket_z2 = "kodo-phone-zone2-space";
- public static final String token_z2 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:CR7NjzaMWAqQAt6b7mPuwvwIzLs=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZTItc3BhY2UiLCJkZWFkbGluZSI6MTcyMTcwMDU5MiwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
- // 北美上传凭证
- public static final String bucket_na0 = "kodo-phone-zone-na0-space";
- public static final String token_na0 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:4TBEbspih6VzaNbPYlrpRIkm7xU=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZS1uYTAtc3BhY2UiLCJkZWFkbGluZSI6MTcyMTcwMDU5MiwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
- // 东南亚上传凭证
- public static final String bucket_as0 = "kodo-phone-zone-as0-space";
- public static final String token_as0 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:JczpyfXUYEan2qrimbu6GlOCADo=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZS1hczAtc3BhY2UiLCJkZWFkbGluZSI6MTcyMTcwMDU5MiwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
- // 华北浙江2上传凭证
- public static final String bucket_cn_east_2 = "kodo-phone-cn-east-2";
- public static final String token_cn_east_2 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:LWCzEeHkDWcYVBViMzZdJ4IaZ0U=:eyJzY29wZSI6ImtvZG8tcGhvbmUtY24tZWFzdC0yIiwiZGVhZGxpbmUiOjE3MjE3MDA1OTIsICJyZXR1cm5Cb2R5Ijoie1wiZm9vXCI6JCh4OmZvbyksIFwiYmFyXCI6JCh4OmJhciksIFwibWltZVR5cGVcIjokKG1pbWVUeXBlKSwgXCJoYXNoXCI6JChldGFnKSwgXCJrZXlcIjokKGtleSksIFwiZm5hbWVcIjokKGZuYW1lKSwgXCJmc2l6ZVwiOiQoZnNpemUpfSJ9";
- public static final String invalidBucketToken = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:FLgR-iEqqbGw-2vCdA9m5X7nOTY=:eyJzY29wZSI6InpvbmVfaW52YWxpZCIsImRlYWRsaW5lIjoxNzIxNzAwNTkyLCAicmV0dXJuQm9keSI6IntcImZvb1wiOiQoeDpmb28pLCBcImJhclwiOiQoeDpiYXIpLCBcIm1pbWVUeXBlXCI6JChtaW1lVHlwZSksIFwiaGFzaFwiOiQoZXRhZyksIFwia2V5XCI6JChrZXkpLCBcImZuYW1lXCI6JChmbmFtZSksIFwiZnNpemVcIjokKGZzaXplKX0ifQ==";
+ /**
+ * 华东上传 Bucket
+ */
+ public static final String BUCKET_Z0 = "kodo-phone-zone0-space";
- // -----------
- public static final String ak = "bjtWBQXrcxgo7HWwlC_bgHg81j352_GhgBGZPeOW";
+ /**
+ * 华东上传 Token
+ */
+ public static final String TOKEN_Z0 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:yOpxWejHk_3fbAgKMXrU2hcHdn4=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZTAtc3BhY2UiLCJkZWFkbGluZSI6MTc1NDczNTI2NSwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
+ /**
+ * 华北上传 Bucket
+ */
+ public static final String BUCKET_Z1 = "kodo-phone-zone1-space";
+ /**
+ * 华北上传 Token
+ */
+ public static final String TOKEN_Z1 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:zfUWM_fef9HBm-rxBCr4vS7Cpew=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZTEtc3BhY2UiLCJkZWFkbGluZSI6MTc1NDczNTI2NSwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
+ /**
+ * 华南上传 Bucket
+ */
+ public static final String BUCKET_Z2 = "kodo-phone-zone2-space";
- //测试通用的token
- public static final String commonToken = token_na0;
- //dns prefetch token
- public static final String uptoken_prefetch = "MP_Ebql_lSsUrDr7WrXn_5vKocQDLvTPCNEFeVmp:3KJpXCGMqm6EAYU71RF1HDmQrcE=:eyJzY29wZSI6ImFuZHJvaWR0ZXN0IiwiZGVhZGxpbmUiOjE1Njc0OTAxODF9";
+ /**
+ * 华南上传 Token
+ */
+ public static final String TOKEN_Z2 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:KMKQCK93-eNG26UoTrvVbbdnriI=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZTItc3BhY2UiLCJkZWFkbGluZSI6MTc1NDczNTI2NSwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
+ /**
+ * 北美上传 Bucket
+ */
+ public static final String BUCKET_NA0 = "kodo-phone-zone-na0-space";
/**
- * 华东机房
+ * 北美上传 Token
+ */
+ public static final String TOKEN_NA0 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:HB0atzwUWFZM58cYyssBKtPrTOQ=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZS1uYTAtc3BhY2UiLCJkZWFkbGluZSI6MTc1NDczNTI2NSwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
+ /**
+ * 东南亚上传 Bucket
*/
- public static final Zone mock_bucket_zone0 = new FixedZone(new String[]{
- "mock.upload.qiniup.com", "mock.upload-nb.qiniup.com",
- "mock.upload-xs.qiniup.com", "mock.up.qiniup.com",
- "mock.up-nb.qiniup.com", "mock.up-xs.qiniup.com",
- "mock.upload.qbox.me", "up.qbox.me"
- });
+ public static final String BUCKET_AS0 = "kodo-phone-zone-as0-space";
/**
- * 华北机房
+ * 东南亚上传 Token
*/
- public static final Zone mock_bucket_zone1 = new FixedZone(new String[]{
- "mock.upload-z1.qiniup.com", "mock.up-z1.qiniup.com",
- "mock.upload-z1.qbox.me", "up-z1.qbox.me"
- });
+ public static final String TOKEN_AS0 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:PLEc_wBAnhcWAqIw_BTC9lBhyzs=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZS1hczAtc3BhY2UiLCJkZWFkbGluZSI6MTc1NDczNTI2NSwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
+ /**
+ * 华北浙江2上传 Bucket
+ */
+ public static final String BUCKET_CN_EAST_2 = "kodo-phone-cn-east-2";
/**
- * 华南机房
+ * 华北浙江2上传 Token
*/
- public static final Zone mock_bucket_zone2 = new FixedZone(new String[]{
- "mock.upload-z2.qiniup.com", "mock.upload-gz.qiniup.com",
- "mock.upload-fs.qiniup.com", "mock.up-z2.qiniup.com",
- "mock.up-gz.qiniup.com", "mock.up-fs.qiniup.com",
- "mock.upload-z2.qbox.me", "up-z2.qbox.me"
- });
+ public static final String TOKEN_CN_EAST_2 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:lrPAesFMWkyi310xoagnn5oKu08=:eyJzY29wZSI6ImtvZG8tcGhvbmUtY24tZWFzdC0yIiwiZGVhZGxpbmUiOjE3NTQ3MzUyNjUsICJyZXR1cm5Cb2R5Ijoie1wiZm9vXCI6JCh4OmZvbyksIFwiYmFyXCI6JCh4OmJhciksIFwibWltZVR5cGVcIjokKG1pbWVUeXBlKSwgXCJoYXNoXCI6JChldGFnKSwgXCJrZXlcIjokKGtleSksIFwiZm5hbWVcIjokKGZuYW1lKSwgXCJmc2l6ZVwiOiQoZnNpemUpfSJ9";
/**
- * 北美机房
+ * 测试使用的 AK
*/
- public static final Zone mock_bucket_zoneNa0 = new FixedZone(new String[]{
- "mock.upload-na0.qiniu.com", "mock.up-na0.qiniup.com",
- "mock.upload-na0.qbox.me", "up-na0.qbox.me"
- });
+ public static final String AK = "bjtWBQXrcxgo7HWwlC_bgHg81j352_GhgBGZPeOW";
+
+ /**
+ * 测试通用的token
+ */
+ public static final String COMMON_TOKEN = BUCKET_NA0;
}
diff --git a/library/src/androidTest/java/com/qiniu/android/bigdata/client/ClientTest.java b/library/src/androidTest/java/com/qiniu/android/bigdata/client/ClientTest.java
index 964946bc..df17b2f1 100644
--- a/library/src/androidTest/java/com/qiniu/android/bigdata/client/ClientTest.java
+++ b/library/src/androidTest/java/com/qiniu/android/bigdata/client/ClientTest.java
@@ -52,7 +52,7 @@ public void testMultipartSyncPost() {
postArgs.params = new StringMap();
postArgs.params.put("x:foo", "foo");
- UpToken token = UpToken.parse(TestConfig.commonToken);
+ UpToken token = UpToken.parse(TestConfig.COMMON_TOKEN);
Client client = new Client(null, 90, 90, null, null);
ResponseInfo responseInfo = client.syncMultipartPost("https://up.qiniup.com", postArgs, token);
@@ -70,7 +70,7 @@ public void testMultipartAsyncPost() {
postArgs.mimeType = "text/plain";
postArgs.params = new StringMap();
- UpToken token = UpToken.parse(TestConfig.commonToken);
+ UpToken token = UpToken.parse(TestConfig.COMMON_TOKEN);
Client client = new Client(null, 90, 90, null, null);
client.asyncMultipartPost("https://up.qiniu.com", postArgs, token, null, new CompletionHandler() {
diff --git a/library/src/androidTest/java/com/qiniu/android/collect/UploadInfoReporterTest.java b/library/src/androidTest/java/com/qiniu/android/collect/UploadInfoReporterTest.java
index 45d0da6e..e1f5ed42 100644
--- a/library/src/androidTest/java/com/qiniu/android/collect/UploadInfoReporterTest.java
+++ b/library/src/androidTest/java/com/qiniu/android/collect/UploadInfoReporterTest.java
@@ -85,7 +85,7 @@ public void run() {
private void report(ReportItem item){
UploadInfoReporter reporter = UploadInfoReporter.getInstance();
- reporter.report(item, TestConfig.token_z0);
+ reporter.report(item, TestConfig.TOKEN_Z0);
}
private static void showContent(File recordFile) {
diff --git a/library/src/androidTest/java/com/qiniu/android/collect/UplogTest.java b/library/src/androidTest/java/com/qiniu/android/collect/UplogTest.java
index e6be0aff..0e36a3ae 100644
--- a/library/src/androidTest/java/com/qiniu/android/collect/UplogTest.java
+++ b/library/src/androidTest/java/com/qiniu/android/collect/UplogTest.java
@@ -70,7 +70,7 @@ private void no_testUplog() {
item.setReport("http1.1", ReportItem.RequestKeyHttpVersion);
- UploadInfoReporter.getInstance().report(item, TestConfig.commonToken);
+ UploadInfoReporter.getInstance().report(item, TestConfig.COMMON_TOKEN);
// wait(new WaitConditional() {
// @Override
diff --git a/library/src/androidTest/java/com/qiniu/android/common/AutoZoneTest.java b/library/src/androidTest/java/com/qiniu/android/common/AutoZoneTest.java
index b028fe5e..4efafb0e 100644
--- a/library/src/androidTest/java/com/qiniu/android/common/AutoZoneTest.java
+++ b/library/src/androidTest/java/com/qiniu/android/common/AutoZoneTest.java
@@ -16,18 +16,18 @@
/**
- * Created by long on 2016/9/30.
+ * @author Created by long on 2016/9/30.
*/
@RunWith(AndroidJUnit4.class)
public class AutoZoneTest extends BaseTest {
- private String ak = TestConfig.ak;
+ private String ak = TestConfig.AK;
private String bkt = "javasdk";
@Test
public void testClearAutoZoneCache() {
final WaitCondition waitCondition = new WaitCondition();
AutoZone zone = new AutoZone();
- UpToken token = UpToken.parse(TestConfig.commonToken);
+ UpToken token = UpToken.parse(TestConfig.COMMON_TOKEN);
zone.preQuery(token, new Zone.QueryHandler() {
@Override
@@ -110,7 +110,7 @@ public void testUCServer(){
autoZone.setUcServer(ucServer);
assertTrue(autoZone.getUcServerList().get(0).equals(ucServer));
- UpToken token = UpToken.parse(TestConfig.commonToken);
+ UpToken token = UpToken.parse(TestConfig.COMMON_TOKEN);
autoZone.preQuery(token, new Zone.QueryHandler() {
@Override
@@ -168,7 +168,7 @@ public boolean shouldWait() {
private void zoneRequest(final CompleteHandlder completeHandlder){
final AutoZone zone = new AutoZone();
- final UpToken token = UpToken.parse(TestConfig.commonToken);
+ final UpToken token = UpToken.parse(TestConfig.COMMON_TOKEN);
zone.preQuery(token, new Zone.QueryHandler() {
@Override
@@ -190,7 +190,7 @@ public void complete(int code, ResponseInfo responseInfo, UploadRegionRequestMet
@Test
public void testAutoZone() {
final AutoZone zone = new AutoZone();
- final UpToken token = UpToken.parse(TestConfig.commonToken);
+ final UpToken token = UpToken.parse(TestConfig.COMMON_TOKEN);
final TestParam param = new TestParam();
@@ -226,7 +226,7 @@ public boolean shouldWait() {
public void testSetUcHosts02() {
final AutoZone zone = new AutoZone();
zone.setUcServers(new String[]{Config.preQueryHost02});
- final UpToken token = UpToken.parse(TestConfig.commonToken);
+ final UpToken token = UpToken.parse(TestConfig.COMMON_TOKEN);
final TestParam param = new TestParam();
diff --git a/library/src/androidTest/java/com/qiniu/android/http/HttpTest.java b/library/src/androidTest/java/com/qiniu/android/http/HttpTest.java
index e8dc387c..715a7092 100644
--- a/library/src/androidTest/java/com/qiniu/android/http/HttpTest.java
+++ b/library/src/androidTest/java/com/qiniu/android/http/HttpTest.java
@@ -12,8 +12,6 @@
import com.qiniu.android.utils.LogUtil;
import com.qiniu.android.utils.StringMap;
-import junit.framework.Assert;
-
import org.json.JSONObject;
import org.junit.Before;
import org.junit.Test;
@@ -51,7 +49,7 @@ public void setUp() throws Exception {
public void testPost1() throws Throwable {
httpManager.asyncPost("https://up-na0.qiniup.com",
- "hello".getBytes(), null, UpToken.parse(TestConfig.commonToken), "hello".getBytes().length,
+ "hello".getBytes(), null, UpToken.parse(TestConfig.COMMON_TOKEN), "hello".getBytes().length,
null, new CompletionHandler() {
@Override
public void complete(ResponseInfo rinfo, JSONObject response) {
@@ -80,7 +78,7 @@ public boolean shouldWait() {
public void testPost2() throws Throwable {
httpManager.asyncPost("https://up.qiniup.com", "hello".getBytes(), null,
- UpToken.parse(TestConfig.commonToken), "hello".getBytes().length,
+ UpToken.parse(TestConfig.COMMON_TOKEN), "hello".getBytes().length,
null, new CompletionHandler() {
@Override
public void complete(ResponseInfo rinfo, JSONObject response) {
@@ -109,7 +107,7 @@ public void testPost3() throws Throwable {
public void run() {
httpManager.asyncPost("https://httpbin.org/status/500", "hello".getBytes(),
- null, UpToken.parse(TestConfig.commonToken), "hello".getBytes().length,
+ null, UpToken.parse(TestConfig.COMMON_TOKEN), "hello".getBytes().length,
null, new CompletionHandler() {
@Override
public void complete(ResponseInfo rinfo, JSONObject response) {
@@ -141,7 +139,7 @@ public void testPost4() throws Throwable {
public void run() {
httpManager.asyncPost("https://httpbin.org/status/418",
"hello".getBytes(),
- null, UpToken.parse(TestConfig.commonToken), "hello".getBytes().length,
+ null, UpToken.parse(TestConfig.COMMON_TOKEN), "hello".getBytes().length,
null, new CompletionHandler() {
@Override
public void complete(ResponseInfo rinfo, JSONObject response) {
@@ -171,7 +169,7 @@ private void testPostNoDomain() throws Throwable {
httpManager.asyncPost("https://no-domain.qiniu.com", "hello".getBytes(),
- null, UpToken.parse(TestConfig.commonToken), "hello".getBytes().length,
+ null, UpToken.parse(TestConfig.COMMON_TOKEN), "hello".getBytes().length,
null, new CompletionHandler() {
@Override
public void complete(ResponseInfo rinfo, JSONObject response) {
@@ -223,7 +221,7 @@ private void testPostIP() throws Throwable {
StringMap x = new StringMap().put("Host", "up.qiniu.com");
httpManager.asyncPost("http://124.160.115.112", "hello".getBytes(),
- x, UpToken.parse(TestConfig.commonToken), "hello".getBytes().length,
+ x, UpToken.parse(TestConfig.COMMON_TOKEN), "hello".getBytes().length,
null, new CompletionHandler() {
@Override
public void complete(ResponseInfo rinfo, JSONObject response) {
@@ -253,7 +251,7 @@ private void testProxy() throws Throwable {
Client c = new Client(p, 10, 30, null, null);
c.asyncPost("http://upproxy1.qiniu.com", "hello".getBytes(),
- x, UpToken.parse(TestConfig.commonToken), "hello".getBytes().length,
+ x, UpToken.parse(TestConfig.COMMON_TOKEN), "hello".getBytes().length,
null, new CompletionHandler() {
@Override
public void complete(ResponseInfo rinfo, JSONObject response) {
diff --git a/library/src/androidTest/java/com/qiniu/android/http/HttpsTest.java b/library/src/androidTest/java/com/qiniu/android/http/HttpsTest.java
index 9cba0dc7..b582ee99 100644
--- a/library/src/androidTest/java/com/qiniu/android/http/HttpsTest.java
+++ b/library/src/androidTest/java/com/qiniu/android/http/HttpsTest.java
@@ -45,7 +45,7 @@ public void testPost1() throws Throwable {
info = null;
httpManager.asyncPost("https://up-na0.qiniup.com", "hello".getBytes(), null,
- UpToken.parse(TestConfig.commonToken), "hello".getBytes().length, null, new CompletionHandler() {
+ UpToken.parse(TestConfig.COMMON_TOKEN), "hello".getBytes().length, null, new CompletionHandler() {
@Override
public void complete(ResponseInfo rinfo, JSONObject response) {
LogUtil.d(rinfo.toString());
diff --git a/library/src/androidTest/java/com/qiniu/android/http/dns/DnsApiTest.java b/library/src/androidTest/java/com/qiniu/android/http/dns/DnsApiTest.java
index 20220b07..6f68c94b 100644
--- a/library/src/androidTest/java/com/qiniu/android/http/dns/DnsApiTest.java
+++ b/library/src/androidTest/java/com/qiniu/android/http/dns/DnsApiTest.java
@@ -67,7 +67,7 @@ public void testPreFetch() {
FixedZone fixedZone = new FixedZone(new String[]{host});
final DnsPrefetcher dnsPrefetcher = DnsPrefetcher.getInstance();
- dnsPrefetcher.checkAndPrefetchDnsIfNeed(null, fixedZone, UpToken.parse(TestConfig.token_z0));
+ dnsPrefetcher.checkAndPrefetchDnsIfNeed(null, fixedZone, UpToken.parse(TestConfig.TOKEN_Z0));
wait(new WaitConditional() {
@Override
@@ -95,7 +95,7 @@ public void testMutiThreadPrefetch(){
new Thread(new Runnable() {
@Override
public void run() {
- boolean isSuccess = DnsPrefetchTransaction.addDnsCheckAndPrefetchTransaction(null, zone, UpToken.parse(TestConfig.token_z0));
+ boolean isSuccess = DnsPrefetchTransaction.addDnsCheckAndPrefetchTransaction(null, zone, UpToken.parse(TestConfig.TOKEN_Z0));
synchronized (this){
if (isSuccess){
param.successCount += 1;
diff --git a/library/src/androidTest/java/com/qiniu/android/http/dns/DnsTransactionTest.java b/library/src/androidTest/java/com/qiniu/android/http/dns/DnsTransactionTest.java
index 04521d38..b450acd2 100644
--- a/library/src/androidTest/java/com/qiniu/android/http/dns/DnsTransactionTest.java
+++ b/library/src/androidTest/java/com/qiniu/android/http/dns/DnsTransactionTest.java
@@ -68,7 +68,7 @@ public void test_CheckAndPrefetch(){
@Override
public void run() {
- boolean isSuccess = DnsPrefetchTransaction.addDnsCheckAndPrefetchTransaction(null, zone, UpToken.parse(TestConfig.token_z0));
+ boolean isSuccess = DnsPrefetchTransaction.addDnsCheckAndPrefetchTransaction(null, zone, UpToken.parse(TestConfig.TOKEN_Z0));
synchronized (this) {
if (isSuccess) {
successCount += 1;
diff --git a/library/src/androidTest/java/com/qiniu/android/http/request/RequestTransactionTest.java b/library/src/androidTest/java/com/qiniu/android/http/request/RequestTransactionTest.java
index c079b651..c4f30ccd 100644
--- a/library/src/androidTest/java/com/qiniu/android/http/request/RequestTransactionTest.java
+++ b/library/src/androidTest/java/com/qiniu/android/http/request/RequestTransactionTest.java
@@ -12,8 +12,6 @@
import com.qiniu.android.storage.UploadOptions;
import com.qiniu.android.utils.LogUtil;
-import junit.framework.Assert;
-
import org.json.JSONException;
import org.json.JSONObject;
import org.junit.Test;
@@ -28,7 +26,7 @@ public class RequestTransactionTest extends BaseTest {
@Test
public void testUCQuery(){
- UpToken token = UpToken.parse(TestConfig.token_z0);
+ UpToken token = UpToken.parse(TestConfig.TOKEN_Z0);
ArrayList hosts = new ArrayList();
hosts.add("uc.qbox.me");
@@ -52,7 +50,7 @@ public void testUploadForm(){
final WaitCondition waitCondition = new WaitCondition();
- UpToken token = UpToken.parse(TestConfig.token_z0);
+ UpToken token = UpToken.parse(TestConfig.TOKEN_Z0);
ArrayList hosts = new ArrayList();
hosts.add("upload.qiniup.com");
@@ -143,7 +141,7 @@ public void complete(ResponseInfo responseInfo, UploadRegionRequestMetrics reque
}
private void makeBlock(RequestTransaction.RequestCompleteHandler completeHandler){
- UpToken token = UpToken.parse(TestConfig.token_z0);
+ UpToken token = UpToken.parse(TestConfig.TOKEN_Z0);
ArrayList hosts = new ArrayList();
hosts.add("upload.qiniup.com");
@@ -159,7 +157,7 @@ public void progress(long totalBytesWritten, long totalBytesExpectedToWrite) {
}
private void uploadChunk(String ct, RequestTransaction.RequestCompleteHandler completeHandler){
- UpToken token = UpToken.parse(TestConfig.token_z0);
+ UpToken token = UpToken.parse(TestConfig.TOKEN_Z0);
ArrayList hosts = new ArrayList();
hosts.add("upload.qiniup.com");
@@ -175,7 +173,7 @@ public void progress(long totalBytesWritten, long totalBytesExpectedToWrite) {
}
private void makeFile(String[] blockContexts, RequestTransaction.RequestCompleteHandler completeHandler){
- UpToken token = UpToken.parse(TestConfig.token_z0);
+ UpToken token = UpToken.parse(TestConfig.TOKEN_Z0);
ArrayList hosts = new ArrayList();
hosts.add("upload.qiniup.com");
diff --git a/library/src/androidTest/java/com/qiniu/android/storage/CancelTest.java b/library/src/androidTest/java/com/qiniu/android/storage/CancelTest.java
index 74bd5a84..30d9200c 100644
--- a/library/src/androidTest/java/com/qiniu/android/storage/CancelTest.java
+++ b/library/src/androidTest/java/com/qiniu/android/storage/CancelTest.java
@@ -12,8 +12,6 @@
import com.qiniu.android.http.ResponseInfo;
import com.qiniu.android.utils.LogUtil;
-import junit.framework.Assert;
-
import org.json.JSONObject;
import org.junit.Before;
import org.junit.Test;
@@ -123,7 +121,7 @@ public boolean isCancelled() {
}
});
- uploadManager.put(tempFile, expectKey, TestConfig.commonToken, new UpCompletionHandler() {
+ uploadManager.put(tempFile, expectKey, TestConfig.COMMON_TOKEN, new UpCompletionHandler() {
public void complete(String k, ResponseInfo rinfo, JSONObject response) {
temp.expectKey = expectKey;
temp.key = k;
@@ -150,7 +148,7 @@ public void progress(String key, double percent) {
LogUtil.i(pos + ": progress " + percent);
}
}, null);
- uploadManager.put(tempFile, expectKey, TestConfig.commonToken, new UpCompletionHandler() {
+ uploadManager.put(tempFile, expectKey, TestConfig.COMMON_TOKEN, new UpCompletionHandler() {
public void complete(String k, ResponseInfo rinfo, JSONObject response) {
temp.expectKey = expectKey;
temp.key = k;
@@ -211,7 +209,7 @@ public boolean isCancelled() {
}
});
- uploadManager.put(tempDate, expectKey, TestConfig.commonToken, new UpCompletionHandler() {
+ uploadManager.put(tempDate, expectKey, TestConfig.COMMON_TOKEN, new UpCompletionHandler() {
public void complete(String k, ResponseInfo rinfo, JSONObject response) {
temp.expectKey = expectKey;
temp.key = k;
@@ -287,7 +285,7 @@ public void progress(String key, double percent) {
Configuration config = new Configuration.Builder().recorder(fr).zone(zone).build();
UploadManager uploadManager = new UploadManager(config);
- uploadManager.put(tempFile, expectKey, TestConfig.commonToken, new UpCompletionHandler() {
+ uploadManager.put(tempFile, expectKey, TestConfig.COMMON_TOKEN, new UpCompletionHandler() {
public void complete(String k, ResponseInfo rinfo, JSONObject response) {
temp.expectKey = expectKey;
temp.key = k;
diff --git a/library/src/androidTest/java/com/qiniu/android/storage/ConfigurationTest.java b/library/src/androidTest/java/com/qiniu/android/storage/ConfigurationTest.java
new file mode 100644
index 00000000..4affb0b1
--- /dev/null
+++ b/library/src/androidTest/java/com/qiniu/android/storage/ConfigurationTest.java
@@ -0,0 +1,27 @@
+package com.qiniu.android.storage;
+
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.qiniu.android.BaseTest;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * Configuration 配置测试
+ *
+ * @author yangsen
+ */
+@RunWith(AndroidJUnit4.class)
+public class ConfigurationTest extends BaseTest {
+
+ @Test
+ public void testDefaultValue() {
+ Configuration cfg = new Configuration.Builder().build();
+ assertEquals("Configuration build: resumeUploadVersion default value error", cfg.resumeUploadVersion, Configuration.RESUME_UPLOAD_VERSION_V1);
+
+ cfg = new Configuration.Builder().buildV2();
+ assertEquals("Configuration buildV2: resumeUploadVersion default value error", cfg.resumeUploadVersion, Configuration.RESUME_UPLOAD_VERSION_V2);
+ }
+}
diff --git a/library/src/androidTest/java/com/qiniu/android/storage/RetryTest.java b/library/src/androidTest/java/com/qiniu/android/storage/RetryTest.java
index 5413cc72..0a772668 100644
--- a/library/src/androidTest/java/com/qiniu/android/storage/RetryTest.java
+++ b/library/src/androidTest/java/com/qiniu/android/storage/RetryTest.java
@@ -168,7 +168,7 @@ public void progress(String key, double percent) {
LogUtil.i(("progress:" + percent));
}
}, null);
- uploadManager.put(f, expectKey, TestConfig.token_na0, new UpCompletionHandler() {
+ uploadManager.put(f, expectKey, TestConfig.BUCKET_NA0, new UpCompletionHandler() {
public void complete(String k, ResponseInfo rinfo, JSONObject response) {
diff --git a/library/src/androidTest/java/com/qiniu/android/storage/SyncFormUploadTest.java b/library/src/androidTest/java/com/qiniu/android/storage/SyncFormUploadTest.java
index c81c08ed..f781b0b4 100644
--- a/library/src/androidTest/java/com/qiniu/android/storage/SyncFormUploadTest.java
+++ b/library/src/androidTest/java/com/qiniu/android/storage/SyncFormUploadTest.java
@@ -10,8 +10,6 @@
import com.qiniu.android.http.ResponseInfo;
import com.qiniu.android.utils.Etag;
-import junit.framework.Assert;
-
import org.json.JSONObject;
import org.junit.Before;
import org.junit.Test;
@@ -36,11 +34,11 @@ public void setUp() {
@Test
public void testHello() {
final String expectKey = "你好-testHello;\"\r\n\r\n\r\n";
- Map params = new HashMap();
+ Map params = new HashMap(1);
params.put("x:foo", "fooval");
final UploadOptions opt = new UploadOptions(params, null, true, null, null);
byte[] b = "hello".getBytes();
- info = uploadManager.syncPut(b, expectKey, TestConfig.commonToken, opt);
+ info = uploadManager.syncPut(b, expectKey, TestConfig.COMMON_TOKEN, opt);
resp = info.response;
assertTrue(info.toString(), info.isOK());
@@ -55,11 +53,11 @@ public void testHello() {
@Test
public void test0Data(){
final String expectKey = "你好-test0Data;\"\r\n\r\n\r\n";
- Map params = new HashMap();
+ Map params = new HashMap(1);
params.put("x:foo", "fooval");
final UploadOptions opt = new UploadOptions(params, null, true, null, null);
- info = uploadManager.syncPut("".getBytes(), expectKey, TestConfig.commonToken, opt);
+ info = uploadManager.syncPut("".getBytes(), expectKey, TestConfig.COMMON_TOKEN, opt);
resp = info.response;
assertEquals(info.toString(), ResponseInfo.ZeroSizeFile, info.statusCode);
@@ -69,10 +67,10 @@ public void test0Data(){
@Test
public void testNoKey() {
final String expectKey = null;
- Map params = new HashMap();
+ Map params = new HashMap(1);
params.put("x:foo", "fooval");
final UploadOptions opt = new UploadOptions(params, null, true, null, null);
- info = uploadManager.syncPut("hello".getBytes(), expectKey, TestConfig.commonToken, opt);
+ info = uploadManager.syncPut("hello".getBytes(), expectKey, TestConfig.COMMON_TOKEN, opt);
resp = info.response;
key = resp.optString("key");
@@ -129,10 +127,10 @@ public void testEmptytoken_z0() {
public void testFile() throws Throwable {
final String expectKey = "世/界-testFile";
final File f = TempFile.createFile(5*1024);
- Map params = new HashMap();
+ Map params = new HashMap(1);
params.put("x:foo", "fooval");
final UploadOptions opt = new UploadOptions(params, null, true, null, null);
- info = uploadManager.syncPut(f, expectKey, TestConfig.commonToken, opt);
+ info = uploadManager.syncPut(f, expectKey, TestConfig.COMMON_TOKEN, opt);
resp = info.response;
key = resp.optString("key");
@@ -152,10 +150,10 @@ public void testFile() throws Throwable {
public void test0File() throws Throwable {
final String expectKey = "世/界-test0File";
final File f = TempFile.createFile(0);
- Map params = new HashMap();
+ Map params = new HashMap(1);
params.put("x:foo", "fooval");
final UploadOptions opt = new UploadOptions(params, null, true, null, null);
- info = uploadManager.syncPut(f, expectKey, TestConfig.commonToken, opt);
+ info = uploadManager.syncPut(f, expectKey, TestConfig.COMMON_TOKEN, opt);
resp = info.response;
assertEquals(f.toString(), 0, f.length());
@@ -168,10 +166,10 @@ public void test0File() throws Throwable {
@Test
public void test0byte() {
- info = uploadManager.syncPut(new byte[0], null, TestConfig.commonToken, null);
+ info = uploadManager.syncPut(new byte[0], null, TestConfig.COMMON_TOKEN, null);
assertEquals(info.toString(), ResponseInfo.ZeroSizeFile, info.statusCode);
- info = uploadManager.syncPut("", null, TestConfig.commonToken, null);
+ info = uploadManager.syncPut("", null, TestConfig.COMMON_TOKEN, null);
assertEquals(info.toString(), ResponseInfo.ZeroSizeFile, info.statusCode);
}
@@ -179,7 +177,7 @@ public void test0byte() {
@Test
public void testHttps() {
final String expectKey = "你好-testHttps;\"\r\n\r\n\r\n";
- Map params = new HashMap();
+ Map params = new HashMap(1);
params.put("x:foo", "fooval");
final UploadOptions opt = new UploadOptions(params, null, true, null, null);
String[] s = new String[]{"up-na0.qbox.me"};
@@ -189,7 +187,7 @@ public void testHttps() {
.useHttps(true)
.build();
UploadManager uploadManager2 = new UploadManager(c);
- info = uploadManager2.syncPut("hello".getBytes(), expectKey, TestConfig.commonToken, opt);
+ info = uploadManager2.syncPut("hello".getBytes(), expectKey, TestConfig.COMMON_TOKEN, opt);
resp = info.response;
key = resp.optString("key");
diff --git a/library/src/androidTest/java/com/qiniu/android/storage/TestFileRecorder.java b/library/src/androidTest/java/com/qiniu/android/storage/TestFileRecorder.java
index 03c0581d..cecb80c4 100644
--- a/library/src/androidTest/java/com/qiniu/android/storage/TestFileRecorder.java
+++ b/library/src/androidTest/java/com/qiniu/android/storage/TestFileRecorder.java
@@ -83,7 +83,7 @@ public boolean isCancelled() {
}
});
- uploadManager.put(tempFile, expectKey, TestConfig.commonToken, new UpCompletionHandler() {
+ uploadManager.put(tempFile, expectKey, TestConfig.COMMON_TOKEN, new UpCompletionHandler() {
public void complete(String k, ResponseInfo rinfo, JSONObject response) {
LogUtil.i("Cancel:" + k + rinfo);
key = k;
@@ -120,7 +120,7 @@ public void progress(String key, double percent) {
}, null);
- uploadManager.put(tempFile, expectKey, TestConfig.commonToken, new UpCompletionHandler() {
+ uploadManager.put(tempFile, expectKey, TestConfig.COMMON_TOKEN, new UpCompletionHandler() {
public void complete(String k, ResponseInfo rinfo, JSONObject response) {
LogUtil.i("Continue" + k + rinfo);
key = k;
diff --git a/library/src/androidTest/java/com/qiniu/android/storage/TokenTest.java b/library/src/androidTest/java/com/qiniu/android/storage/TokenTest.java
index cbfaa986..55d725e8 100644
--- a/library/src/androidTest/java/com/qiniu/android/storage/TokenTest.java
+++ b/library/src/androidTest/java/com/qiniu/android/storage/TokenTest.java
@@ -22,7 +22,7 @@ public class TokenTest {
@Test
public void testRight() {
- UpToken t = UpToken.parse(TestConfig.commonToken);
+ UpToken t = UpToken.parse(TestConfig.COMMON_TOKEN);
assertTrue("uptoken is invalid", !UpToken.isInvalid(t));
assertTrue("token isValidForDuration error", t.isValidForDuration(5*60));
diff --git a/library/src/androidTest/java/com/qiniu/android/storage/UploadBaseTest.java b/library/src/androidTest/java/com/qiniu/android/storage/UploadBaseTest.java
index 1cba425e..7e2d257f 100644
--- a/library/src/androidTest/java/com/qiniu/android/storage/UploadBaseTest.java
+++ b/library/src/androidTest/java/com/qiniu/android/storage/UploadBaseTest.java
@@ -3,8 +3,6 @@
import android.net.Uri;
import android.util.Log;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
import com.qiniu.android.BaseTest;
import com.qiniu.android.TestConfig;
import com.qiniu.android.http.ResponseInfo;
@@ -13,7 +11,6 @@
import org.json.JSONObject;
import org.junit.Before;
-import org.junit.runner.RunWith;
import java.io.File;
import java.io.FileInputStream;
@@ -79,7 +76,7 @@ protected void uploadFileAndAssertResult(int statusCode,
Configuration configuration,
UploadOptions options) {
- uploadFileAndAssertResult(statusCode, file, TestConfig.token_na0, key, configuration, options);
+ uploadFileAndAssertResult(statusCode, file, TestConfig.BUCKET_NA0, key, configuration, options);
}
protected void uploadFileAndAssertResult(int statusCode,
@@ -88,7 +85,7 @@ protected void uploadFileAndAssertResult(int statusCode,
Configuration configuration,
UploadOptions options) {
- uploadFileAndAssertResult(statusCode, file, TestConfig.token_na0, key, configuration, options);
+ uploadFileAndAssertResult(statusCode, file, TestConfig.BUCKET_NA0, key, configuration, options);
}
protected void uploadFileAndAssertResult(int statusCode,
@@ -193,7 +190,7 @@ protected void upload(UploadInfo file,
UploadOptions options,
UpCompletionHandler completionHandler) {
- upload(file, TestConfig.token_na0, key, configuration, options, completionHandler);
+ upload(file, TestConfig.BUCKET_NA0, key, configuration, options, completionHandler);
}
protected void upload(UploadInfo file,
diff --git a/library/src/androidTest/java/com/qiniu/android/storage/UriTest.java b/library/src/androidTest/java/com/qiniu/android/storage/UriTest.java
index a2dc927e..d9f8a726 100644
--- a/library/src/androidTest/java/com/qiniu/android/storage/UriTest.java
+++ b/library/src/androidTest/java/com/qiniu/android/storage/UriTest.java
@@ -15,8 +15,6 @@
import com.qiniu.android.utils.Etag;
import com.qiniu.android.utils.LogUtil;
-import junit.framework.Assert;
-
import org.json.JSONException;
import org.json.JSONObject;
import org.junit.Test;
@@ -104,7 +102,7 @@ private void testUpload(Uri uri, String fileName, String etag, boolean isHttps,
key += isConcurrent ? "serial_" : "concurrent_";
key += fileName;
final UploadCompleteInfo completeInfo = new UploadCompleteInfo();
- uploadManager.put(uri, null, key, TestConfig.token_na0, new UpCompletionHandler() {
+ uploadManager.put(uri, null, key, TestConfig.BUCKET_NA0, new UpCompletionHandler() {
@Override
public void complete(String key, ResponseInfo info, JSONObject response) {
completeInfo.key = key;
diff --git a/library/src/androidTest/java/com/qiniu/android/storage/serverConfig/ServerConfigTest.java b/library/src/androidTest/java/com/qiniu/android/storage/serverConfig/ServerConfigTest.java
index bed32e57..b2b65bc4 100644
--- a/library/src/androidTest/java/com/qiniu/android/storage/serverConfig/ServerConfigTest.java
+++ b/library/src/androidTest/java/com/qiniu/android/storage/serverConfig/ServerConfigTest.java
@@ -17,7 +17,7 @@ public class ServerConfigTest extends BaseTest {
public void testMonitor() {
ServerConfigMonitor.removeConfigCache();
ServerConfigMonitor.startMonitor();
- ServerConfigMonitor.setToken(TestConfig.token_na0);
+ ServerConfigMonitor.setToken(TestConfig.BUCKET_NA0);
wait(new WaitConditional() {
@Override
diff --git a/library/src/main/AndroidManifest.xml b/library/src/main/AndroidManifest.xml
index 258825eb..3b7e472b 100644
--- a/library/src/main/AndroidManifest.xml
+++ b/library/src/main/AndroidManifest.xml
@@ -1,6 +1,5 @@
+ xmlns:tools="http://schemas.android.com/tools">
diff --git a/library/src/main/java/com/qiniu/android/common/Constants.java b/library/src/main/java/com/qiniu/android/common/Constants.java
index 2cd70b32..2b67f711 100644
--- a/library/src/main/java/com/qiniu/android/common/Constants.java
+++ b/library/src/main/java/com/qiniu/android/common/Constants.java
@@ -9,7 +9,7 @@ public final class Constants {
/**
* SDK 版本号
*/
- public static final String VERSION = "8.8.0";
+ public static final String VERSION = "8.9.0";
/**
* UTF-8 编码
diff --git a/library/src/main/java/com/qiniu/android/http/request/httpclient/SystemHttpClient.java b/library/src/main/java/com/qiniu/android/http/request/httpclient/SystemHttpClient.java
index bc51a23b..9cd20245 100644
--- a/library/src/main/java/com/qiniu/android/http/request/httpclient/SystemHttpClient.java
+++ b/library/src/main/java/com/qiniu/android/http/request/httpclient/SystemHttpClient.java
@@ -141,6 +141,7 @@ public void request(Request request,
if (server != null) {
currentServer = server;
metrics.setRemoteAddress(server.getIp());
+ metrics.setSyncDnsSource(server.getSource());
}
metrics.setRequest(request);
currentRequest = request;
diff --git a/library/src/main/java/com/qiniu/android/storage/Configuration.java b/library/src/main/java/com/qiniu/android/storage/Configuration.java
index 32c47909..fcb93798 100644
--- a/library/src/main/java/com/qiniu/android/storage/Configuration.java
+++ b/library/src/main/java/com/qiniu/android/storage/Configuration.java
@@ -21,6 +21,10 @@ public final class Configuration {
* 分片上传版本 V2
*/
public static int RESUME_UPLOAD_VERSION_V2 = 1;
+ /**
+ * 未配置分片上传版本,使用默认配置
+ */
+ public static int RESUME_UPLOAD_VERSION_NONE = -1;
/**
* 上传区域
@@ -210,7 +214,7 @@ public static class Builder {
private boolean allowBackupHost = true;
private UrlConverter urlConverter = null;
private boolean useConcurrentResumeUpload = false;
- private int resumeUploadVersion = RESUME_UPLOAD_VERSION_V1;
+ private int resumeUploadVersion = RESUME_UPLOAD_VERSION_NONE;
private int concurrentTaskCount = 3;
/**
@@ -433,11 +437,30 @@ public Builder useHttps(boolean useHttps) {
}
/**
- * 生成 Configuration
+ * 构造 Configuration:
+ * 使用 {@link Builder#buildV2()} 替换
*
* @return Configuration
*/
+ @Deprecated
public Configuration build() {
+ if (this.resumeUploadVersion == RESUME_UPLOAD_VERSION_NONE) {
+ this.resumeUploadVersion = RESUME_UPLOAD_VERSION_V1;
+ }
+ return new Configuration(this);
+ }
+
+ /**
+ * 构造 Configuration:
+ * 默认配置中分片上传使用分片V2,如果是私/专有云场景,请注意确认服务端是否支持分片V2;
+ * 分片V2上传速度会更快更高效
+ *
+ * @return Configuration
+ */
+ public Configuration buildV2() {
+ if (this.resumeUploadVersion == RESUME_UPLOAD_VERSION_NONE) {
+ this.resumeUploadVersion = RESUME_UPLOAD_VERSION_V2;
+ }
return new Configuration(this);
}
}
diff --git a/library/src/main/java/com/qiniu/android/storage/UploadManager.java b/library/src/main/java/com/qiniu/android/storage/UploadManager.java
index 1b55e5a7..f13a342c 100644
--- a/library/src/main/java/com/qiniu/android/storage/UploadManager.java
+++ b/library/src/main/java/com/qiniu/android/storage/UploadManager.java
@@ -35,19 +35,23 @@ public class UploadManager {
/**
* 构造函数
+ * 使用 {@link UploadManager#UploadManager(Configuration config) } 替换
*
* @param recorder 文件上传进度记录,可实现断点续传
*/
+ @Deprecated
public UploadManager(Recorder recorder) {
this(recorder, null);
}
/**
* 构造函数
+ * 使用 {@link UploadManager#UploadManager(Configuration config) } 替换
*
* @param recorder 文件上传进度记录,可实现断点续传
* @param keyGen 上传文件上传进度对应记录缓存的 key 生成器
*/
+ @Deprecated
public UploadManager(Recorder recorder, KeyGenerator keyGen) {
this(new Configuration.Builder().recorder(recorder, keyGen).build());
}
@@ -55,7 +59,9 @@ public UploadManager(Recorder recorder, KeyGenerator keyGen) {
/**
* 构造函数
* 默认为串行
+ * 使用 {@link UploadManager#UploadManager(Configuration config) } 替换
*/
+ @Deprecated
public UploadManager() {
this(new Configuration.Builder().build());
}
diff --git a/mvn_push.gradle b/mvn_push.gradle
index 5cced192..e6d6c2f2 100644
--- a/mvn_push.gradle
+++ b/mvn_push.gradle
@@ -39,103 +39,112 @@ def getRepositoryPassword() {
return hasProperty('NEXUS_PASSWORD') ? NEXUS_PASSWORD : ""
}
-task androidJavadocs(type: Javadoc, dependsOn: 'assembleRelease') {
- failOnError = false
- options.encoding = "UTF-8"
- options.charSet = 'UTF-8'
- classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
- android.libraryVariants.all { variant ->
- if (variant.name == 'release') {
- owner.classpath += variant.javaCompile.classpath
+afterEvaluate {
+ tasks.register('androidJavadocs', Javadoc) {
+ dependsOn 'assembleRelease'
+ failOnError = false
+ options.encoding = "UTF-8"
+ options.charSet = 'UTF-8'
+ if (project.hasProperty('android')) {
+ classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
+ def mainSrcDirs = android.sourceSets.main.java.srcDirs
+ if (mainSrcDirs && mainSrcDirs.size() > 0) {
+ source = mainSrcDirs
+ } else {
+ logger.warn("No Java source dirs found for Javadoc generation.")
+ source = files() // 空文件集,避免报错
+ }
+ android.libraryVariants.all { variant ->
+ if (variant.name == 'release') {
+ if (variant.hasProperty('javaCompileProvider')) {
+ owner.classpath += variant.javaCompileProvider.get().classpath
+ }
+ }
+ }
+ } else {
+ logger.warn("Android plugin not applied, skipping Javadoc source configuration.")
+ source = files()
}
+ exclude '**/R.html', '**/R.*.html', '**/index.html'
}
- source = android.sourceSets.main.java.srcDirs
- exclude '**/R.html', '**/R.*.html', '**/index.html'
-}
-task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
- archiveClassifier.set('javadoc')
- from androidJavadocs.destinationDir
-}
+ tasks.register('androidJavadocsJar', Jar) {
+ dependsOn tasks.named('androidJavadocs')
+ archiveClassifier.set('javadoc')
+ from tasks.named('androidJavadocs').get().destinationDir
+ }
-task androidSourcesJar(type: Jar) {
- archiveClassifier.set('sources')
- from android.sourceSets.main.java.srcDirs
-}
+ tasks.register('androidSourcesJar', Jar) {
+ archiveClassifier.set('sources')
+ if (project.hasProperty('android')) {
+ from android.sourceSets.main.java.srcDirs
+ }
+ }
-publishing {
- publications {
- mavenJava(MavenPublication) {
- groupId = GROUP
- artifactId = POM_ARTIFACT_ID
- version = VERSION_NAME
+ publishing {
+ publications {
+ mavenJava(MavenPublication) {
+ groupId = GROUP
+ artifactId = POM_ARTIFACT_ID
+ version = VERSION_NAME
- artifacts {
- artifact(androidSourcesJar)
- artifact(androidJavadocsJar)
+ artifact(tasks.named('androidSourcesJar'))
+ artifact(tasks.named('androidJavadocsJar'))
artifact("$buildDir/outputs/aar/${project.name}-release.aar")
- }
-
- pom {
- name = POM_NAME
- description = POM_DESCRIPTION
- url = POM_URL
- inceptionYear = POM_INCEPTION_YEAR
-
- licenses {
- license {
- name = POM_LICENCE_NAME
- url = POM_LICENCE_URL
+ pom {
+ name = POM_NAME
+ description = POM_DESCRIPTION
+ url = POM_URL
+ inceptionYear = POM_INCEPTION_YEAR
+
+ licenses {
+ license {
+ name = POM_LICENCE_NAME
+ url = POM_LICENCE_URL
+ }
}
- }
- developers {
- developer {
- id = POM_DEVELOPER_ID
- name = POM_DEVELOPER_NAME
- email = POM_EMAIL
+ developers {
+ developer {
+ id = POM_DEVELOPER_ID
+ name = POM_DEVELOPER_NAME
+ email = POM_EMAIL
+ }
}
- }
- scm {
- connection= POM_SCM_CONNECTION
- developerConnection=POM_SCM_DEV_CONNECTION
- url=POM_SCM_URL
- }
+ scm {
+ connection= POM_SCM_CONNECTION
+ developerConnection=POM_SCM_DEV_CONNECTION
+ url=POM_SCM_URL
+ }
- withXml {
- def dependencies = asNode().appendNode("dependencies")
-
- configurations
- .getByName("releaseCompileClasspath")
- .resolvedConfiguration
- .firstLevelModuleDependencies.forEach {
- def dependency = dependencies.appendNode("dependency")
- dependency.appendNode("groupId", it.moduleGroup)
- dependency.appendNode("artifactId", it.moduleName)
- dependency.appendNode("version", it.moduleVersion)
+ withXml {
+ def dependencies = asNode().appendNode("dependencies")
+ configurations.getByName("releaseCompileClasspath").resolvedConfiguration.firstLevelModuleDependencies.forEach {
+ def dependency = dependencies.appendNode("dependency")
+ dependency.appendNode("groupId", it.moduleGroup)
+ dependency.appendNode("artifactId", it.moduleName)
+ dependency.appendNode("version", it.moduleVersion)
+ }
}
}
}
}
- }
-
- repositories {
- maven {
- name = POM_NAME
- url = getReleaseRepositoryUrl()
- credentials {
- username = getRepositoryUsername()
- password = getRepositoryPassword()
+ repositories {
+ maven {
+ name = POM_NAME
+ url = isReleaseBuild() ? getReleaseRepositoryUrl() : getSnapshotRepositoryUrl()
+ credentials {
+ username = getRepositoryUsername()
+ password = getRepositoryPassword()
+ }
}
}
}
-}
-
-
-signing {
- required { isReleaseBuild()}
- sign publishing.publications
+ signing {
+ required { isReleaseBuild() }
+ sign publishing.publications
+ }
}