Skip to content

Commit 8a25c52

Browse files
authored
Support acc (#511)
1 parent 37e573e commit 8a25c52

28 files changed

+392
-100
lines changed

.idea/misc.xml

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ allprojects {
1919
repositories {
2020
jcenter()
2121
google()
22+
mavenCentral()
2223
}
2324
// gradle.projectsEvaluated {
2425
// tasks.withType(JavaCompile) {

library/src/androidTest/java/com/qiniu/android/TestConfig.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,23 @@ public final class TestConfig {
1010
// TODO: 2020-05-09 bad token for testPutBytesWithFixedZoneUseBackupDomains
1111
// 华东上传凭证
1212
public static final String bucket_z0 = "kodo-phone-zone0-space";
13-
public static final String token_z0 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:kCuN1lxE7wby0SgsYmgleVQh5pk=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZTAtc3BhY2UiLCJkZWFkbGluZSI6MTcwMjk1Mzg5MSwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
13+
public static final String token_z0 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:gHBZrJTOKxxJlXjYoUxWmRSvuU8=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZTAtc3BhY2UiLCJkZWFkbGluZSI6MTcyMTcwMDU5MiwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
1414
// 华北上传凭证
1515
public static final String bucket_z1 = "kodo-phone-zone1-space";
16-
public static final String token_z1 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:6GJohI_Ldf_hBwGATV3iYeuMVZ0=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZTEtc3BhY2UiLCJkZWFkbGluZSI6MTcwMjk1Mzg5MSwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
16+
public static final String token_z1 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:8kFB5kF7f3INNSUZLToOBDTGMbU=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZTEtc3BhY2UiLCJkZWFkbGluZSI6MTcyMTcwMDU5MiwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
1717
// 华南上传凭证
1818
public static final String bucket_z2 = "kodo-phone-zone2-space";
19-
public static final String token_z2 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:gy-wF5GQuoffNKUmRMKC0wVQDHQ=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZTItc3BhY2UiLCJkZWFkbGluZSI6MTcwMjk1Mzg5MSwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
19+
public static final String token_z2 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:CR7NjzaMWAqQAt6b7mPuwvwIzLs=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZTItc3BhY2UiLCJkZWFkbGluZSI6MTcyMTcwMDU5MiwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
2020
// 北美上传凭证
2121
public static final String bucket_na0 = "kodo-phone-zone-na0-space";
22-
public static final String token_na0 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:mEbYwqz9BbvKpjemh7arZA01SCY=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZS1uYTAtc3BhY2UiLCJkZWFkbGluZSI6MTcwMjk1Mzg5MSwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
22+
public static final String token_na0 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:4TBEbspih6VzaNbPYlrpRIkm7xU=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZS1uYTAtc3BhY2UiLCJkZWFkbGluZSI6MTcyMTcwMDU5MiwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
2323
// 东南亚上传凭证
2424
public static final String bucket_as0 = "kodo-phone-zone-as0-space";
25-
public static final String token_as0 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:b5V9b1I3FCrNYJ1aQznlcGvyKe0=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZS1hczAtc3BhY2UiLCJkZWFkbGluZSI6MTcwMjk1Mzg5MSwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
25+
public static final String token_as0 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:JczpyfXUYEan2qrimbu6GlOCADo=:eyJzY29wZSI6ImtvZG8tcGhvbmUtem9uZS1hczAtc3BhY2UiLCJkZWFkbGluZSI6MTcyMTcwMDU5MiwgInJldHVybkJvZHkiOiJ7XCJmb29cIjokKHg6Zm9vKSwgXCJiYXJcIjokKHg6YmFyKSwgXCJtaW1lVHlwZVwiOiQobWltZVR5cGUpLCBcImhhc2hcIjokKGV0YWcpLCBcImtleVwiOiQoa2V5KSwgXCJmbmFtZVwiOiQoZm5hbWUpLCBcImZzaXplXCI6JChmc2l6ZSl9In0=";
2626
// 华北浙江2上传凭证
2727
public static final String bucket_cn_east_2 = "kodo-phone-cn-east-2";
28-
public static final String token_cn_east_2 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:5wMZsrDWTJuYW-aYz6AsBJJhol4=:eyJzY29wZSI6ImtvZG8tcGhvbmUtY24tZWFzdC0yIiwiZGVhZGxpbmUiOjE3MDI5NTM4OTEsICJyZXR1cm5Cb2R5Ijoie1wiZm9vXCI6JCh4OmZvbyksIFwiYmFyXCI6JCh4OmJhciksIFwibWltZVR5cGVcIjokKG1pbWVUeXBlKSwgXCJoYXNoXCI6JChldGFnKSwgXCJrZXlcIjokKGtleSksIFwiZm5hbWVcIjokKGZuYW1lKSwgXCJmc2l6ZVwiOiQoZnNpemUpfSJ9";
29-
public static final String invalidBucketToken = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:AF6tAFx4teQul_zEMXWzbN79_eI=:eyJzY29wZSI6InpvbmVfaW52YWxpZCIsImRlYWRsaW5lIjoxNzAyOTUzODkxLCAicmV0dXJuQm9keSI6IntcImZvb1wiOiQoeDpmb28pLCBcImJhclwiOiQoeDpiYXIpLCBcIm1pbWVUeXBlXCI6JChtaW1lVHlwZSksIFwiaGFzaFwiOiQoZXRhZyksIFwia2V5XCI6JChrZXkpLCBcImZuYW1lXCI6JChmbmFtZSksIFwiZnNpemVcIjokKGZzaXplKX0ifQ==";
28+
public static final String token_cn_east_2 = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:LWCzEeHkDWcYVBViMzZdJ4IaZ0U=:eyJzY29wZSI6ImtvZG8tcGhvbmUtY24tZWFzdC0yIiwiZGVhZGxpbmUiOjE3MjE3MDA1OTIsICJyZXR1cm5Cb2R5Ijoie1wiZm9vXCI6JCh4OmZvbyksIFwiYmFyXCI6JCh4OmJhciksIFwibWltZVR5cGVcIjokKG1pbWVUeXBlKSwgXCJoYXNoXCI6JChldGFnKSwgXCJrZXlcIjokKGtleSksIFwiZm5hbWVcIjokKGZuYW1lKSwgXCJmc2l6ZVwiOiQoZnNpemUpfSJ9";
29+
public static final String invalidBucketToken = "dxVQk8gyk3WswArbNhdKIwmwibJ9nFsQhMNUmtIM:FLgR-iEqqbGw-2vCdA9m5X7nOTY=:eyJzY29wZSI6InpvbmVfaW52YWxpZCIsImRlYWRsaW5lIjoxNzIxNzAwNTkyLCAicmV0dXJuQm9keSI6IntcImZvb1wiOiQoeDpmb28pLCBcImJhclwiOiQoeDpiYXIpLCBcIm1pbWVUeXBlXCI6JChtaW1lVHlwZSksIFwiaGFzaFwiOiQoZXRhZyksIFwia2V5XCI6JChrZXkpLCBcImZuYW1lXCI6JChmbmFtZSksIFwiZnNpemVcIjokKGZzaXplKX0ifQ==";
3030

3131
// -----------
3232
public static final String ak = "bjtWBQXrcxgo7HWwlC_bgHg81j352_GhgBGZPeOW";

library/src/androidTest/java/com/qiniu/android/http/dns/DnsApiTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public void testPreFetch() {
6767
FixedZone fixedZone = new FixedZone(new String[]{host});
6868

6969
final DnsPrefetcher dnsPrefetcher = DnsPrefetcher.getInstance();
70-
dnsPrefetcher.checkAndPrefetchDnsIfNeed(fixedZone, UpToken.parse(TestConfig.token_z0));
70+
dnsPrefetcher.checkAndPrefetchDnsIfNeed(null, fixedZone, UpToken.parse(TestConfig.token_z0));
7171

7272
wait(new WaitConditional() {
7373
@Override
@@ -95,7 +95,7 @@ public void testMutiThreadPrefetch(){
9595
new Thread(new Runnable() {
9696
@Override
9797
public void run() {
98-
boolean isSuccess = DnsPrefetchTransaction.addDnsCheckAndPrefetchTransaction(zone, UpToken.parse(TestConfig.token_z0));
98+
boolean isSuccess = DnsPrefetchTransaction.addDnsCheckAndPrefetchTransaction(null, zone, UpToken.parse(TestConfig.token_z0));
9999
synchronized (this){
100100
if (isSuccess){
101101
param.successCount += 1;

library/src/androidTest/java/com/qiniu/android/http/dns/DnsTransactionTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public void test_CheckAndPrefetch(){
6868
@Override
6969
public void run() {
7070

71-
boolean isSuccess = DnsPrefetchTransaction.addDnsCheckAndPrefetchTransaction(zone, UpToken.parse(TestConfig.token_z0));
71+
boolean isSuccess = DnsPrefetchTransaction.addDnsCheckAndPrefetchTransaction(null, zone, UpToken.parse(TestConfig.token_z0));
7272
synchronized (this) {
7373
if (isSuccess) {
7474
successCount += 1;

library/src/androidTest/java/com/qiniu/android/http/dns/SystemDnsTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ public class SystemDnsTest extends BaseTest {
1616

1717
@Test
1818
public void testDnsLookup() {
19-
SystemDns dns = new SystemDns(5);
19+
SystemDns dns = new SystemDns(10);
2020
try {
21-
List<IDnsNetworkAddress> result = dns.lookup("upload.qiniup.com");
21+
List<IDnsNetworkAddress> result = dns.lookup("uplog.qbox.me");
2222
assertTrue("testDnsLookup fail:", result != null && result.size() > 0);
2323
} catch (UnknownHostException e) {
2424
e.printStackTrace();
@@ -32,7 +32,7 @@ public void testDnsTimeout() {
3232
int timeout = 5;
3333
SystemDns dns = new SystemDns(timeout);
3434
try {
35-
List<IDnsNetworkAddress> result = dns.lookup("a.a.a.cn");
35+
List<IDnsNetworkAddress> result = dns.lookup("abc.mock.cn");
3636
assertTrue("testDnsTimeout fail:", result == null || result.size() == 0);
3737
} catch (UnknownHostException e) {
3838
e.printStackTrace();

library/src/androidTest/java/com/qiniu/android/http/serverRegion/UploadDomainRegionTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public void testGetOneServer(){
2121
String type = Utils.getIpType(null, host);
2222
FixedZone zone = new FixedZone(new String[]{host});
2323

24-
UploadDomainRegion region = new UploadDomainRegion();
24+
UploadDomainRegion region = new UploadDomainRegion(null);
2525
region.setupRegionData(zone.getZonesInfo(null).zonesInfo.get(0));
2626

2727
UploadServerFreezeManager.getInstance().freezeType(type, 100);

library/src/main/java/com/qiniu/android/collect/UploadInfoReporter.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import com.qiniu.android.http.request.RequestTransaction;
88
import com.qiniu.android.storage.UpToken;
99
import com.qiniu.android.transaction.TransactionManager;
10-
import com.qiniu.android.utils.AsyncRun;
1110
import com.qiniu.android.utils.LogUtil;
1211
import com.qiniu.android.utils.StringUtils;
1312
import com.qiniu.android.utils.Utils;
@@ -24,7 +23,6 @@
2423
import java.util.Date;
2524
import java.util.List;
2625
import java.util.concurrent.ExecutorService;
27-
import java.util.concurrent.Executors;
2826
import java.util.concurrent.LinkedBlockingQueue;
2927
import java.util.concurrent.ThreadPoolExecutor;
3028
import java.util.concurrent.TimeUnit;
@@ -254,7 +252,7 @@ private byte[] getLogData() {
254252
randomAccessFile = new RandomAccessFile(recorderTempFile, "r");
255253
ByteArrayOutputStream out = new ByteArrayOutputStream(fileSize);
256254
int len = 0;
257-
byte[] buff = new byte[fileSize];
255+
byte[] buff = new byte[32*1024];
258256
while ((len = randomAccessFile.read(buff)) >= 0) {
259257
out.write(buff, 0, len);
260258
}

library/src/main/java/com/qiniu/android/common/AutoZone.java

Lines changed: 55 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,11 @@
44
import com.qiniu.android.http.dns.DnsPrefetchTransaction;
55
import com.qiniu.android.http.metrics.UploadRegionRequestMetrics;
66
import com.qiniu.android.http.request.RequestTransaction;
7+
import com.qiniu.android.storage.Configuration;
78
import com.qiniu.android.storage.UpToken;
9+
import com.qiniu.android.storage.UploadOptions;
810
import com.qiniu.android.utils.Cache;
11+
import com.qiniu.android.utils.ListUtils;
912
import com.qiniu.android.utils.SingleFlight;
1013
import com.qiniu.android.utils.UrlSafeBase64;
1114

@@ -14,7 +17,6 @@
1417
import java.util.ArrayList;
1518
import java.util.Arrays;
1619
import java.util.Collections;
17-
import java.util.HashMap;
1820
import java.util.List;
1921
import java.util.Map;
2022
import java.util.concurrent.ConcurrentHashMap;
@@ -111,11 +113,12 @@ private String[] getUcServerArray() {
111113
}
112114

113115
@Override
116+
@Deprecated
114117
public ZonesInfo getZonesInfo(UpToken token) {
115118
if (token == null) {
116119
return null;
117120
}
118-
String cacheKey = makeCacheKey(token.index());
121+
String cacheKey = makeCacheKey(null, token.index());
119122
ZonesInfo zonesInfo = zonesInfoMap.get(cacheKey);
120123
if (zonesInfo != null) {
121124
try {
@@ -128,15 +131,35 @@ public ZonesInfo getZonesInfo(UpToken token) {
128131

129132
@Override
130133
public void preQuery(final UpToken token, final QueryHandler completeHandler) {
134+
query(null, token, new QueryHandlerV2() {
135+
@Override
136+
public void complete(ResponseInfo responseInfo, UploadRegionRequestMetrics metrics, ZonesInfo zonesInfo) {
137+
if (completeHandler != null) {
138+
int code = ResponseInfo.NetworkError;
139+
if (responseInfo != null) {
140+
if (responseInfo.isOK()) {
141+
code = 0;
142+
} else {
143+
code = responseInfo.statusCode;
144+
}
145+
}
146+
completeHandler.complete(code, responseInfo, metrics);
147+
}
148+
}
149+
});
150+
}
151+
152+
@Override
153+
public void query(Configuration configuration, UpToken token, QueryHandlerV2 completeHandler) {
131154
if (token == null || !token.isValid()) {
132-
completeHandler.complete(-1, ResponseInfo.invalidToken("invalid token"), null);
155+
completeHandler.complete(ResponseInfo.invalidToken("invalid token"), null, null);
133156
return;
134157
}
135158

136159
UploadRegionRequestMetrics localMetrics = new UploadRegionRequestMetrics(null);
137160
localMetrics.start();
138161

139-
final String cacheKey = makeCacheKey(token.index());
162+
final String cacheKey = makeCacheKey(configuration, token.index());
140163

141164
ZonesInfo zonesInfo = null;
142165
Cache.Object object = zoneCache.cacheForKey(cacheKey);
@@ -147,7 +170,7 @@ public void preQuery(final UpToken token, final QueryHandler completeHandler) {
147170
if (zonesInfo != null && zonesInfo.isValid()) {
148171
localMetrics.end();
149172
zonesInfoMap.put(cacheKey, zonesInfo);
150-
completeHandler.complete(0, ResponseInfo.successResponse(), localMetrics);
173+
completeHandler.complete(ResponseInfo.successResponse(), localMetrics, zonesInfo);
151174
return;
152175
}
153176

@@ -159,7 +182,7 @@ public void preQuery(final UpToken token, final QueryHandler completeHandler) {
159182
@Override
160183
public void action(final com.qiniu.android.utils.SingleFlight.CompleteHandler<SingleFlightValue> completeHandler) throws Exception {
161184

162-
final RequestTransaction transaction = createUploadRequestTransaction(token);
185+
final RequestTransaction transaction = createUploadRequestTransaction(configuration, token);
163186
transaction.queryUploadHosts(true, new RequestTransaction.RequestCompleteHandler() {
164187
@Override
165188
public void complete(ResponseInfo responseInfo, UploadRegionRequestMetrics requestMetrics, JSONObject response) {
@@ -186,36 +209,47 @@ public void complete(SingleFlightValue singleFlightValue) {
186209
if (zonesInfoP.isValid()) {
187210
zoneCache.cache(cacheKey, zonesInfoP, true);
188211
zonesInfoMap.put(cacheKey, zonesInfoP);
189-
completeHandler.complete(0, responseInfo, requestMetrics);
212+
completeHandler.complete(responseInfo, requestMetrics, zonesInfoP);
190213
} else {
191-
completeHandler.complete(ResponseInfo.ParseError, responseInfo, requestMetrics);
214+
responseInfo = ResponseInfo.parseError("origin response:" + responseInfo);
215+
completeHandler.complete(responseInfo, requestMetrics, null);
192216
}
193217
} else {
194218
if (defaultZone != null) {
195219
// 备用只能用一次
196220
ZonesInfo defaultZoneZonesInfo = defaultZone.getZonesInfo(token);
197221
zonesInfoMap.put(cacheKey, defaultZoneZonesInfo);
198-
completeHandler.complete(0, responseInfo, requestMetrics);
222+
String message = "origin response:" + responseInfo;
223+
responseInfo = ResponseInfo.successResponse();
224+
responseInfo.message = message;
225+
completeHandler.complete(responseInfo, requestMetrics, defaultZoneZonesInfo);
199226
} else if (finalZonesInfo != null) {
200227
// 缓存有,但是失效也可使用
201228
zonesInfoMap.put(cacheKey, finalZonesInfo);
202-
completeHandler.complete(0, responseInfo, requestMetrics);
229+
String message = "origin response:" + responseInfo;
230+
responseInfo = ResponseInfo.successResponse();
231+
responseInfo.message = message;
232+
completeHandler.complete(responseInfo, requestMetrics, finalZonesInfo);
203233
} else {
204-
completeHandler.complete(ResponseInfo.NetworkError, responseInfo, requestMetrics);
234+
completeHandler.complete(responseInfo, requestMetrics, null);
205235
}
206236
}
207237
}
208238
});
209239

210240
} catch (Exception e) {
211241
/// 此处永远不会执行,回调只为占位
212-
completeHandler.complete(ResponseInfo.NetworkError, ResponseInfo.localIOError(e.toString()), null);
242+
completeHandler.complete(ResponseInfo.localIOError(e.toString()), null, null);
213243
}
214244
}
215245

216-
private String makeCacheKey(String akAndBucket) {
246+
private String makeCacheKey(Configuration configuration, String akAndBucket) {
247+
String key = akAndBucket;
248+
if (configuration != null) {
249+
key += akAndBucket + ":" + configuration.accelerateUploading;
250+
}
217251
List<String> ucHosts = getUcServerList();
218-
if (ucHosts == null || ucHosts.isEmpty()) {
252+
if (ListUtils.isEmpty(ucHosts)) {
219253
return akAndBucket;
220254
}
221255

@@ -227,13 +261,16 @@ private String makeCacheKey(String akAndBucket) {
227261
hosts.append(host).append(":");
228262
}
229263

230-
return UrlSafeBase64.encodeToString(hosts + akAndBucket);
264+
return UrlSafeBase64.encodeToString(hosts + key);
231265
}
232266

233-
private RequestTransaction createUploadRequestTransaction(UpToken token) {
267+
private RequestTransaction createUploadRequestTransaction(Configuration configuration, UpToken token) {
234268
List<String> hosts = getUcServerList();
235-
236-
RequestTransaction transaction = new RequestTransaction(hosts, ZoneInfo.EmptyRegionId, token);
269+
if (configuration == null) {
270+
configuration = new Configuration.Builder().build();
271+
}
272+
RequestTransaction transaction = new RequestTransaction(configuration, UploadOptions.defaultOptions(),
273+
hosts, ZoneInfo.EmptyRegionId, null, token);
237274
transactions.add(transaction);
238275
return transaction;
239276
}

library/src/main/java/com/qiniu/android/common/Config.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ public final class Config {
8787
/**
8888
* preQuery host
8989
*/
90+
@Deprecated
9091
public static String preQueryHost03 = "api.qiniu.com";
9192

9293
/**
@@ -95,7 +96,7 @@ public final class Config {
9596
* @return preQuery hosts
9697
*/
9798
public static String[] preQueryHosts() {
98-
return new String[]{preQueryHost00, preQueryHost01, preQueryHost02, preQueryHost03};
99+
return new String[]{preQueryHost00, preQueryHost01, preQueryHost02};
99100
}
100101

101102
/**

0 commit comments

Comments
 (0)