Skip to content

Commit 168ba66

Browse files
authored
Merge pull request #480 from YangSen-qn/develop
uc query default hosts add new one
2 parents 95a89b3 + e3fbc38 commit 168ba66

File tree

16 files changed

+474
-144
lines changed

16 files changed

+474
-144
lines changed

CHANGELOG.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
#Changelog
2+
## 8.4.2(2022-02-28)
3+
* 优化:
4+
* uc query 流程增加新的域名
5+
26
## 8.4.1(2022-01-27)
3-
* 优化 SystemDns 解析:异步开线程池,降低高并发场景下对内存资源占用。
7+
* 优化
8+
* SystemDns 解析:异步开线程池,降低高并发场景下对内存资源占用。
49

510

611
## 8.4.0(2021-12-07)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ https://github.com/qiniudemo/qiniu-lab-android
3333
| 7.0.7 | Android 2.2+ | android-async-http 1.4.8 |
3434

3535
### 注意
36-
* 推荐使用最新版:8.4.1
36+
* 推荐使用最新版:8.4.2
3737
* 7.6.2 ~ 8.3.2 AndroidNetwork.getMobileDbm()可以获取手机信号强度,需要如下权限(API>=18时生效)
3838
```
3939
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

doc/Android_Changes_from_7.x_to_8.0.0.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,8 @@
156156
### 8.1 change class
157157
**add:**
158158
- com.qiniu.android.http.request.IRequestClient
159-
- com.qiniu.android.http.request.IRequestClient.RequestClientCompleteHandler
160-
- com.qiniu.android.http.request.IRequestClient.RequestClientProgress
159+
- com.qiniu.android.http.request.IRequestClient.CompleteHandler
160+
- com.qiniu.android.http.request.IRequestClient.Progress
161161
- com.qiniu.android.http.request.IUploadServer
162162
- com.qiniu.android.http.request.RequestTransaction.RequestCompleteHandler
163163
- com.qiniu.android.http.request.IUploadRegion

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public void testGet() {
1919
null, null, null, 15);
2020

2121
SystemHttpClient client = new SystemHttpClient();
22-
client.request(request, true, null, null, new IRequestClient.RequestClientCompleteHandler() {
22+
client.request(request, true, null, null, new IRequestClient.CompleteHandler() {
2323
@Override
2424
public void complete(ResponseInfo responseInfo, UploadSingleRequestMetrics metrics, JSONObject response) {
2525
assertTrue("pass", responseInfo.isOK());
@@ -38,7 +38,7 @@ public void testSyncGet() {
3838
null, null, null, 15);
3939

4040
SystemHttpClient client = new SystemHttpClient();
41-
client.request(request, false, null, null, new IRequestClient.RequestClientCompleteHandler() {
41+
client.request(request, false, null, null, new IRequestClient.CompleteHandler() {
4242
@Override
4343
public void complete(ResponseInfo responseInfo, UploadSingleRequestMetrics metrics, JSONObject response) {
4444
assertTrue("pass", responseInfo.isOK());
@@ -57,7 +57,7 @@ public void testPostRequest() {
5757
Request.HttpMethodPOST, null, "hello".getBytes(), 15);
5858

5959
SystemHttpClient client = new SystemHttpClient();
60-
client.request(request, true, null, null, new IRequestClient.RequestClientCompleteHandler() {
60+
client.request(request, true, null, null, new IRequestClient.CompleteHandler() {
6161
@Override
6262
public void complete(ResponseInfo responseInfo, UploadSingleRequestMetrics metrics, JSONObject response) {
6363

@@ -77,7 +77,7 @@ public void testSyncPostRequest() {
7777
Request.HttpMethodPOST, null, "hello".getBytes(), 15);
7878

7979
SystemHttpClient client = new SystemHttpClient();
80-
client.request(request, false, null, null, new IRequestClient.RequestClientCompleteHandler() {
80+
client.request(request, false, null, null, new IRequestClient.CompleteHandler() {
8181
@Override
8282
public void complete(ResponseInfo responseInfo, UploadSingleRequestMetrics metrics, JSONObject response) {
8383

@@ -97,7 +97,7 @@ public void testPostRequestError() {
9797
Request.HttpMethodPOST, null, "hello".getBytes(), 15);
9898

9999
SystemHttpClient client = new SystemHttpClient();
100-
client.request(null, true, null, null, new IRequestClient.RequestClientCompleteHandler() {
100+
client.request(null, true, null, null, new IRequestClient.CompleteHandler() {
101101
@Override
102102
public void complete(ResponseInfo responseInfo, UploadSingleRequestMetrics metrics, JSONObject response) {
103103

library/src/androidTest/java/com/qiniu/android/common/AutoZoneTest.java

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,11 +178,81 @@ public void complete(int code, ResponseInfo responseInfo, UploadRegionRequestMet
178178
});
179179
}
180180

181+
public void testAutoZone() {
182+
final AutoZone zone = new AutoZone();
183+
final UpToken token = UpToken.parse(TestConfig.commonToken);
184+
185+
final TestParam param = new TestParam();
186+
187+
zone.preQuery(token, new Zone.QueryHandler() {
188+
@Override
189+
public void complete(int code, ResponseInfo responseInfo, UploadRegionRequestMetrics metrics) {
190+
ZonesInfo zonesInfo = zone.getZonesInfo(token);
191+
if (zonesInfo != null){
192+
param.success = true;
193+
LogUtil.i(zonesInfo.toString());
194+
} else {
195+
param.success = false;
196+
}
197+
param.completeCount.incrementAndGet();
198+
}
199+
});
200+
201+
wait(new WaitConditional() {
202+
@Override
203+
public boolean shouldWait() {
204+
if (param.completeCount.intValue() > 0){
205+
return false;
206+
} else {
207+
return true;
208+
}
209+
}
210+
}, 600);
211+
212+
assertTrue("preQueryHost02 test complete:" + param.success, param.success);
213+
}
214+
215+
public void testSetUcHosts02() {
216+
final AutoZone zone = new AutoZone();
217+
zone.setUcServers(new String[]{Config.preQueryHost02});
218+
final UpToken token = UpToken.parse(TestConfig.commonToken);
219+
220+
final TestParam param = new TestParam();
221+
222+
zone.preQuery(token, new Zone.QueryHandler() {
223+
@Override
224+
public void complete(int code, ResponseInfo responseInfo, UploadRegionRequestMetrics metrics) {
225+
ZonesInfo zonesInfo = zone.getZonesInfo(token);
226+
if (zonesInfo != null){
227+
param.success = true;
228+
LogUtil.i(zonesInfo.toString());
229+
} else {
230+
param.success = false;
231+
}
232+
param.completeCount.incrementAndGet();
233+
}
234+
});
235+
236+
wait(new WaitConditional() {
237+
@Override
238+
public boolean shouldWait() {
239+
if (param.completeCount.intValue() > 0){
240+
return false;
241+
} else {
242+
return true;
243+
}
244+
}
245+
}, 60);
246+
247+
assertTrue("preQueryHost02 test complete:" + param.success, param.success);
248+
}
249+
181250
private interface CompleteHandlder {
182251
void complete(boolean isSuccess);
183252
}
184253

185254
private class TestParam{
255+
Boolean success = false;
186256
AtomicInteger completeCount = new AtomicInteger(0);
187257
}
188258

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

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

33
import com.qiniu.android.http.ResponseInfo;
44
import com.qiniu.android.http.dns.DnsPrefetchTransaction;
5-
import com.qiniu.android.http.request.RequestTransaction;
65
import com.qiniu.android.http.metrics.UploadRegionRequestMetrics;
6+
import com.qiniu.android.http.request.RequestTransaction;
77
import com.qiniu.android.storage.UpToken;
88
import com.qiniu.android.utils.SingleFlight;
99

@@ -12,7 +12,6 @@
1212
import java.util.ArrayList;
1313
import java.util.Collections;
1414
import java.util.List;
15-
import java.util.Map;
1615
import java.util.concurrent.ConcurrentHashMap;
1716

1817
/**
@@ -47,6 +46,7 @@ public List<String> getUcServerList() {
4746
return serverList;
4847
} else {
4948
ArrayList<String> serverList = new ArrayList<>();
49+
serverList.add(Config.preQueryHost02);
5050
serverList.add(Config.preQueryHost00);
5151
serverList.add(Config.preQueryHost01);
5252
return serverList;

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ public final class Config {
7777
*/
7878
public static String preQueryHost00 = "uc.qbox.me";
7979
public static String preQueryHost01 = "api.qiniu.com";
80+
public static String preQueryHost02 = "kodo-config.qiniuapi.com";
8081

8182
/**
8283
* 当网络切换到 wifi 下,切换到此设置

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33

44
public final class Constants {
5-
public static final String VERSION = "8.4.1";
5+
public static final String VERSION = "8.4.2";
66

77
public static final String UTF_8 = "utf-8";
88
}

library/src/main/java/com/qiniu/android/http/connectCheck/ConnectChecker.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class ConnectChecker {
2323
private static SingleFlight<UploadSingleRequestMetrics> singleFlight = new SingleFlight<>();
2424

2525
public static boolean isConnected(UploadSingleRequestMetrics metrics) {
26-
return metrics != null && metrics.response != null && metrics.response.statusCode > 99;
26+
return metrics != null && metrics.getResponse() != null && metrics.getResponse().statusCode > 99;
2727
}
2828

2929
public static UploadSingleRequestMetrics check() {
@@ -133,7 +133,7 @@ public Object call() throws Exception {
133133
SystemHttpClient client = new SystemHttpClient();
134134

135135
LogUtil.i("== checkHost:" + host);
136-
client.request(request, true, null, null, new IRequestClient.RequestClientCompleteHandler() {
136+
client.request(request, true, null, null, new IRequestClient.CompleteHandler() {
137137
@Override
138138
public void complete(ResponseInfo responseInfo, UploadSingleRequestMetrics metrics, JSONObject response) {
139139
synchronized (this) {

0 commit comments

Comments
 (0)