Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
#Changelog
## 8.4.2(2022-02-28)
* 优化:
* uc query 流程增加新的域名

## 8.4.1(2022-01-27)
* 优化 SystemDns 解析:异步开线程池,降低高并发场景下对内存资源占用。
* 优化
* SystemDns 解析:异步开线程池,降低高并发场景下对内存资源占用。


## 8.4.0(2021-12-07)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ https://github.com/qiniudemo/qiniu-lab-android
| 7.0.7 | Android 2.2+ | android-async-http 1.4.8 |

### 注意
* 推荐使用最新版:8.4.1
* 推荐使用最新版:8.4.2
* 7.6.2 ~ 8.3.2 AndroidNetwork.getMobileDbm()可以获取手机信号强度,需要如下权限(API>=18时生效)
```
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
Expand Down
4 changes: 2 additions & 2 deletions doc/Android_Changes_from_7.x_to_8.0.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,8 +156,8 @@
### 8.1 change class
**add:**
- com.qiniu.android.http.request.IRequestClient
- com.qiniu.android.http.request.IRequestClient.RequestClientCompleteHandler
- com.qiniu.android.http.request.IRequestClient.RequestClientProgress
- com.qiniu.android.http.request.IRequestClient.CompleteHandler
- com.qiniu.android.http.request.IRequestClient.Progress
- com.qiniu.android.http.request.IUploadServer
- com.qiniu.android.http.request.RequestTransaction.RequestCompleteHandler
- com.qiniu.android.http.request.IUploadRegion
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public void testGet() {
null, null, null, 15);

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

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

SystemHttpClient client = new SystemHttpClient();
client.request(request, true, null, null, new IRequestClient.RequestClientCompleteHandler() {
client.request(request, true, null, null, new IRequestClient.CompleteHandler() {
@Override
public void complete(ResponseInfo responseInfo, UploadSingleRequestMetrics metrics, JSONObject response) {

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

SystemHttpClient client = new SystemHttpClient();
client.request(request, false, null, null, new IRequestClient.RequestClientCompleteHandler() {
client.request(request, false, null, null, new IRequestClient.CompleteHandler() {
@Override
public void complete(ResponseInfo responseInfo, UploadSingleRequestMetrics metrics, JSONObject response) {

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

SystemHttpClient client = new SystemHttpClient();
client.request(null, true, null, null, new IRequestClient.RequestClientCompleteHandler() {
client.request(null, true, null, null, new IRequestClient.CompleteHandler() {
@Override
public void complete(ResponseInfo responseInfo, UploadSingleRequestMetrics metrics, JSONObject response) {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -178,11 +178,81 @@ public void complete(int code, ResponseInfo responseInfo, UploadRegionRequestMet
});
}

public void testAutoZone() {
final AutoZone zone = new AutoZone();
final UpToken token = UpToken.parse(TestConfig.commonToken);

final TestParam param = new TestParam();

zone.preQuery(token, new Zone.QueryHandler() {
@Override
public void complete(int code, ResponseInfo responseInfo, UploadRegionRequestMetrics metrics) {
ZonesInfo zonesInfo = zone.getZonesInfo(token);
if (zonesInfo != null){
param.success = true;
LogUtil.i(zonesInfo.toString());
} else {
param.success = false;
}
param.completeCount.incrementAndGet();
}
});

wait(new WaitConditional() {
@Override
public boolean shouldWait() {
if (param.completeCount.intValue() > 0){
return false;
} else {
return true;
}
}
}, 600);

assertTrue("preQueryHost02 test complete:" + param.success, param.success);
}

public void testSetUcHosts02() {
final AutoZone zone = new AutoZone();
zone.setUcServers(new String[]{Config.preQueryHost02});
final UpToken token = UpToken.parse(TestConfig.commonToken);

final TestParam param = new TestParam();

zone.preQuery(token, new Zone.QueryHandler() {
@Override
public void complete(int code, ResponseInfo responseInfo, UploadRegionRequestMetrics metrics) {
ZonesInfo zonesInfo = zone.getZonesInfo(token);
if (zonesInfo != null){
param.success = true;
LogUtil.i(zonesInfo.toString());
} else {
param.success = false;
}
param.completeCount.incrementAndGet();
}
});

wait(new WaitConditional() {
@Override
public boolean shouldWait() {
if (param.completeCount.intValue() > 0){
return false;
} else {
return true;
}
}
}, 60);

assertTrue("preQueryHost02 test complete:" + param.success, param.success);
}

private interface CompleteHandlder {
void complete(boolean isSuccess);
}

private class TestParam{
Boolean success = false;
AtomicInteger completeCount = new AtomicInteger(0);
}

Expand Down
4 changes: 2 additions & 2 deletions library/src/main/java/com/qiniu/android/common/AutoZone.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import com.qiniu.android.http.ResponseInfo;
import com.qiniu.android.http.dns.DnsPrefetchTransaction;
import com.qiniu.android.http.request.RequestTransaction;
import com.qiniu.android.http.metrics.UploadRegionRequestMetrics;
import com.qiniu.android.http.request.RequestTransaction;
import com.qiniu.android.storage.UpToken;
import com.qiniu.android.utils.SingleFlight;

Expand All @@ -12,7 +12,6 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
Expand Down Expand Up @@ -47,6 +46,7 @@ public List<String> getUcServerList() {
return serverList;
} else {
ArrayList<String> serverList = new ArrayList<>();
serverList.add(Config.preQueryHost02);
serverList.add(Config.preQueryHost00);
serverList.add(Config.preQueryHost01);
return serverList;
Expand Down
1 change: 1 addition & 0 deletions library/src/main/java/com/qiniu/android/common/Config.java
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ public final class Config {
*/
public static String preQueryHost00 = "uc.qbox.me";
public static String preQueryHost01 = "api.qiniu.com";
public static String preQueryHost02 = "kodo-config.qiniuapi.com";

/**
* 当网络切换到 wifi 下,切换到此设置
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@


public final class Constants {
public static final String VERSION = "8.4.1";
public static final String VERSION = "8.4.2";

public static final String UTF_8 = "utf-8";
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public class ConnectChecker {
private static SingleFlight<UploadSingleRequestMetrics> singleFlight = new SingleFlight<>();

public static boolean isConnected(UploadSingleRequestMetrics metrics) {
return metrics != null && metrics.response != null && metrics.response.statusCode > 99;
return metrics != null && metrics.getResponse() != null && metrics.getResponse().statusCode > 99;
}

public static UploadSingleRequestMetrics check() {
Expand Down Expand Up @@ -133,7 +133,7 @@ public Object call() throws Exception {
SystemHttpClient client = new SystemHttpClient();

LogUtil.i("== checkHost:" + host);
client.request(request, true, null, null, new IRequestClient.RequestClientCompleteHandler() {
client.request(request, true, null, null, new IRequestClient.CompleteHandler() {
@Override
public void complete(ResponseInfo responseInfo, UploadSingleRequestMetrics metrics, JSONObject response) {
synchronized (this) {
Expand Down
Loading