Skip to content

Commit b366a7d

Browse files
author
ghc
committed
merge develop to master with no-ff
2 parents c2424dc + 9fcba2c commit b366a7d

7 files changed

Lines changed: 279 additions & 20 deletions

File tree

EvolvingNet/src/main/java/com/codingcoderscode/evolving/net/request/CCDownloadRequest.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -182,30 +182,36 @@ protected void onNextLocal(CCBaseResponse<T> tccBaseResponse) {
182182
if (getDownloadProgressListener() != null && isRequestRunning() && !isForceCanceled()) {
183183
getDownloadProgressListener().<T>onSuccess(getReqTag(), this.mDownloadTask);
184184
}
185+
this.setRequestRunning(false);
186+
this.setForceCanceled(false);
185187
} catch (Exception e) {
186188
e.printStackTrace();
187189
}
188190
}
189191

190192
@Override
191-
public void onErrorLocal(Throwable t) {
193+
protected void onErrorLocal(Throwable t) {
192194
super.onErrorLocal(t);
193195
try {
194196
if (getDownloadProgressListener() != null && isRequestRunning() && !isForceCanceled()) {
195197
getDownloadProgressListener().<T>onError(getReqTag(), this.mDownloadTask, t);
196198
}
199+
this.setRequestRunning(false);
200+
this.setForceCanceled(false);
197201
} catch (Exception e) {
198202
e.printStackTrace();
199203
}
200204
}
201205

202206
@Override
203-
public void onCompleteLocal() {
207+
protected void onCompleteLocal() {
204208
super.onCompleteLocal();
205209
try {
206210
if (getDownloadProgressListener() != null && isRequestRunning() && !isForceCanceled()) {
207211
getDownloadProgressListener().<T>onComplete(getReqTag(), this.mDownloadTask);
208212
}
213+
this.setRequestRunning(false);
214+
this.setForceCanceled(false);
209215
} catch (Exception e) {
210216
e.printStackTrace();
211217
}

EvolvingNet/src/main/java/com/codingcoderscode/evolving/net/request/CCMultiDownloadRequest.java

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import com.codingcoderscode.evolving.net.request.method.CCHttpMethod;
1212
import com.codingcoderscode.evolving.net.request.wrapper.CCDownloadRequestWrapper;
1313
import com.codingcoderscode.evolving.net.response.CCBaseResponse;
14+
import com.codingcoderscode.evolving.net.util.CCLogUtil;
1415

1516
import org.reactivestreams.Publisher;
1617
import org.reactivestreams.Subscription;
@@ -22,6 +23,7 @@
2223
import java.util.concurrent.TimeUnit;
2324
import java.util.concurrent.atomic.AtomicInteger;
2425

26+
import io.reactivex.BackpressureStrategy;
2527
import io.reactivex.Flowable;
2628
import io.reactivex.functions.BooleanSupplier;
2729
import io.reactivex.functions.Function;
@@ -82,13 +84,18 @@ protected Call<ResponseBody> getRequestCall() {
8284

8385
@Override
8486
protected Flowable<CCBaseResponse<T>> getRequestFlowable() {
85-
return Flowable.intervalRange(0, 1, 0, 5 * 60 * 1000, TimeUnit.MILLISECONDS, Schedulers.computation())
87+
return Flowable.intervalRange(0, 1, 0, 5 * 60 * 1000, TimeUnit.MILLISECONDS, Schedulers.io())
8688
.repeatUntil(new BooleanSupplier() {
8789
@Override
8890
public boolean getAsBoolean() throws Exception {
89-
return false;
91+
92+
boolean repeat = isRequestRunning() && !isForceCanceled();
93+
94+
return !repeat;
9095
}
9196
})
97+
.onBackpressureLatest()
98+
//.onBackpressureBuffer(BackpressureStrategy.LATEST)
9299
//.subscribeOn(Schedulers.computation())
93100
//.unsubscribeOn(Schedulers.io())
94101
//.observeOn(Schedulers.io())
@@ -102,7 +109,7 @@ public Publisher<CCBaseResponse<T>> apply(Long aLong) throws Exception {
102109
}
103110
}
104111
})
105-
.subscribeOn(Schedulers.computation());
112+
/*.subscribeOn(Schedulers.computation())*/;
106113
}
107114

108115
/**
@@ -186,6 +193,7 @@ private void onSelectOneTaskToDownload() {
186193
.setSupportRage(true)
187194
.setDownloadProgressListener(this)
188195
.setRetryCount(DEFAULT_RETRY_COUNT)
196+
.setLifecycleDisposeComposer(this.getLifecycleDisposeComposer())
189197
.setReqTag(CCMultiDownloadTaskWrapper.newInstance(getDefaultTaskReqTag(), toDownloadTask));
190198

191199
downloadRequest.executeAsync();
@@ -200,6 +208,7 @@ private void onSelectOneTaskToDownload() {
200208
.setSupportRage(true)
201209
.setDownloadProgressListener(this)
202210
.setRetryCount(DEFAULT_RETRY_COUNT)
211+
.setLifecycleDisposeComposer(this.getLifecycleDisposeComposer())
203212
.setReqTag(CCMultiDownloadTaskWrapper.newInstance(getDefaultTaskReqTag(), toDownloadTask));
204213

205214
downloadRequest.executeAsync();
@@ -249,30 +258,36 @@ protected void onNextLocal(CCBaseResponse<T> tccBaseResponse) {
249258
if (getDownloadProgressListener() != null && isRequestRunning() && !isForceCanceled()) {
250259
getDownloadProgressListener().<T>onRequestSuccess(getReqTag());
251260
}
261+
this.setRequestRunning(false);
262+
this.setForceCanceled(false);
252263
} catch (Exception e) {
253264
e.printStackTrace();
254265
}
255266
}
256267

257268
@Override
258-
public void onErrorLocal(Throwable t) {
269+
protected void onErrorLocal(Throwable t) {
259270
super.onErrorLocal(t);
260271
try {
261272
if (getDownloadProgressListener() != null && isRequestRunning() && !isForceCanceled()) {
262273
getDownloadProgressListener().<T>onRequestError(getReqTag(), t);
263274
}
275+
this.setRequestRunning(false);
276+
this.setForceCanceled(false);
264277
} catch (Exception e) {
265278
e.printStackTrace();
266279
}
267280
}
268281

269282
@Override
270-
public void onCompleteLocal() {
283+
protected void onCompleteLocal() {
271284
super.onCompleteLocal();
272285
try {
273286
if (getDownloadProgressListener() != null && isRequestRunning() && !isForceCanceled()) {
274287
getDownloadProgressListener().<T>onRequestComplete(getReqTag());
275288
}
289+
this.setRequestRunning(false);
290+
this.setForceCanceled(false);
276291
} catch (Exception e) {
277292
e.printStackTrace();
278293
}
@@ -573,7 +588,14 @@ public void onProgressSave(Object reqTag, CCDownloadTask downloadTask, int progr
573588
public void onProgress(Object tag, CCDownloadTask downloadTask, int progress, long netSpeed, long downloadedSize, long fileSize) {
574589
if ((this.getDownloadProgressListener() != null) && isRequestRunning() && !isForceCanceled()) {
575590
this.getDownloadProgressListener().onProgress(getReqTag(), getOriginalDownloadTask(tag, downloadTask), progress, netSpeed, downloadedSize, fileSize);
591+
592+
CCLogUtil.printLog("e", getClass().getCanonicalName(), "回调下载进度");
593+
}else {
594+
CCLogUtil.printLog("e", getClass().getCanonicalName(), "不能回调下载进度???");
576595
}
596+
597+
598+
577599
}
578600

579601
@Override

0 commit comments

Comments
 (0)