Skip to content

Commit 624b8c0

Browse files
authored
Merge pull request #220 from longbai/add_net_ready
Add net ready
2 parents bcf90b2 + 5d6cc2e commit 624b8c0

File tree

15 files changed

+201
-51
lines changed

15 files changed

+201
-51
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
#Changelog
22

3+
## 7.2.3 (2016-09-07)
4+
5+
### 增加
6+
* 上传中途网络断开回调等待
7+
38
## 7.2.2 (2016-08-04)
49

510
### 修正

library/library.iml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -65,14 +65,6 @@
6565
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
6666
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
6767
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
68-
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
69-
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
70-
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
71-
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
72-
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
73-
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
74-
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
75-
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
7668
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
7769
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
7870
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
@@ -81,6 +73,14 @@
8173
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
8274
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
8375
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
76+
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
77+
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
78+
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
79+
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
80+
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
81+
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
82+
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
83+
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
8484
<excludeFolder url="file://$MODULE_DIR$/build/docs" />
8585
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
8686
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.qiniu.android;
2+
3+
import android.content.Context;
4+
import android.test.AndroidTestCase;
5+
6+
import com.qiniu.android.utils.ContextGetter;
7+
8+
public class ContextTest extends AndroidTestCase {
9+
public void testEncode() {
10+
Context c = ContextGetter.applicationContext();
11+
assertNotNull(c);
12+
}
13+
}

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,13 @@
44

55
import junit.framework.Assert;
66

7-
import org.json.JSONArray;
87
import org.json.JSONException;
98
import org.json.JSONObject;
109

1110
/**
1211
* Created by Simon on 3/3/16.
1312
*/
14-
public class JsonTest extends AndroidTestCase {
13+
public class JsonTest extends AndroidTestCase {
1514

1615
private boolean showContent = false;
1716

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.qiniu.android;
2+
3+
import com.qiniu.android.utils.AndroidNetwork;
4+
5+
import junit.framework.TestCase;
6+
7+
/**
8+
* Created by bailong on 16/9/7.
9+
*/
10+
public class NetworkTest extends TestCase {
11+
public void testConnected() {
12+
boolean stat = AndroidNetwork.isNetWorkReady();
13+
assertTrue(stat);
14+
}
15+
}

library/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
<uses-permission android:name="android.permission.INTERNET"/>
66
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
7+
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
78

89
<application android:label="@string/app_name"></application>
910

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 = "7.2.2";
5+
public static final String VERSION = "7.2.3";
66

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

library/src/main/java/com/qiniu/android/http/Client.java

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ private static JSONObject buildJsonResp(byte[] body) throws Exception {
136136
return new JSONObject(str);
137137
}
138138

139-
public void asyncSend(final Request.Builder requestBuilder, StringMap headers, final CompletionHandler completionHandler) {
139+
public void asyncSend(final Request.Builder requestBuilder, StringMap headers, final CompletionHandler complete) {
140140
if (headers != null) {
141141
headers.forEach(new StringMap.Consumer() {
142142
@Override
@@ -146,18 +146,6 @@ public void accept(String key, Object value) {
146146
});
147147
}
148148

149-
final CompletionHandler complete = new CompletionHandler() {
150-
@Override
151-
public void complete(final ResponseInfo info, final JSONObject response) {
152-
AsyncRun.run(new Runnable() {
153-
@Override
154-
public void run() {
155-
completionHandler.complete(info, response);
156-
}
157-
});
158-
}
159-
};
160-
161149
requestBuilder.header("User-Agent", UserAgent.instance().toString());
162150
ResponseTag tag = new ResponseTag();
163151
httpClient.newCall(requestBuilder.tag(tag).build()).enqueue(new Callback() {
@@ -306,6 +294,6 @@ public void run() {
306294

307295
private static class ResponseTag {
308296
public String ip = null;
309-
public long duration = null;
297+
public long duration = 0;
310298
}
311299
}

library/src/main/java/com/qiniu/android/storage/FormUploader.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.qiniu.android.http.PostArgs;
66
import com.qiniu.android.http.ProgressHandler;
77
import com.qiniu.android.http.ResponseInfo;
8+
import com.qiniu.android.utils.AndroidNetwork;
89
import com.qiniu.android.utils.Crc32;
910
import com.qiniu.android.utils.StringMap;
1011

@@ -108,6 +109,14 @@ public void onProgress(int bytesWritten, int totalSize) {
108109
CompletionHandler completion = new CompletionHandler() {
109110
@Override
110111
public void complete(ResponseInfo info, JSONObject response) {
112+
if (info.isNetworkBroken() && !AndroidNetwork.isNetWorkReady()) {
113+
options.netReadyHandler.waitReady();
114+
if (!AndroidNetwork.isNetWorkReady()) {
115+
completionHandler.complete(key, info, response);
116+
return;
117+
}
118+
}
119+
111120
if (info.isOK()) {
112121
options.progressHandler.progress(key, 1.0);
113122
completionHandler.complete(key, info, response);
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package com.qiniu.android.storage;
2+
3+
/**
4+
* Created by bailong on 16/9/7.
5+
*/
6+
public interface NetReadyHandler {
7+
void waitReady();
8+
}

0 commit comments

Comments
 (0)