Skip to content

Commit a0aa11b

Browse files
author
zhouxingrong
committed
fix Subscriber0
1 parent 3719f54 commit a0aa11b

File tree

10 files changed

+123
-73
lines changed

10 files changed

+123
-73
lines changed

app/src/main/java/com/jusenr/androidgithub/home/presenter/CodePresenter.java

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

33
import com.jusenr.androidgithub.home.contract.CodeContract;
44
import com.jusenr.androidgithub.home.model.model.Content;
5+
import com.jusenr.androidgithub.retrofit.subscriber.Subscriber0;
56
import com.jusenr.androidlibrary.base.BasePresenter;
67
import com.jusenr.androidlibrary.di.scope.ActivityScope;
78

89
import javax.inject.Inject;
910

10-
import rx.Subscriber;
1111
import rx.functions.Action0;
1212

1313
@ActivityScope
@@ -32,20 +32,20 @@ public void call() {
3232
mView.dismissLoading();
3333
}
3434
})
35-
.subscribe(new Subscriber<Content>() {
35+
.subscribe(new Subscriber0<Content>() {
3636
@Override
3737
public void onCompleted() {
3838

3939
}
4040

4141
@Override
42-
public void onError(Throwable e) {
43-
mView.contentDetailFailed(-1, e.getMessage());
42+
public void onNext(String msg, Content content) {
43+
mView.contentDetailResult(content);
4444
}
4545

4646
@Override
47-
public void onNext(Content content) {
48-
mView.contentDetailResult(content);
47+
public void onError(int code, String msg) {
48+
mView.contentDetailFailed(code, msg);
4949
}
5050
}));
5151
}

app/src/main/java/com/jusenr/androidgithub/home/presenter/MostStarPresenter.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
import com.jusenr.androidgithub.home.contract.MostStarContract;
44
import com.jusenr.androidgithub.home.model.model.Repo;
55
import com.jusenr.androidgithub.retrofit.api.RepoApi;
6+
import com.jusenr.androidgithub.retrofit.subscriber.Subscriber0;
67
import com.jusenr.androidlibrary.base.BasePresenter;
78
import com.jusenr.androidlibrary.di.scope.FragmentScope;
89

910
import java.util.ArrayList;
1011

1112
import javax.inject.Inject;
1213

13-
import rx.Subscriber;
1414
import rx.functions.Action0;
1515

1616
@FragmentScope
@@ -35,20 +35,20 @@ public void call() {
3535
mView.dismissLoading();
3636
}
3737
})
38-
.subscribe(new Subscriber<ArrayList<Repo>>() {
38+
.subscribe(new Subscriber0<ArrayList<Repo>>() {
3939
@Override
4040
public void onCompleted() {
4141

4242
}
4343

4444
@Override
45-
public void onError(Throwable e) {
46-
mView.top30StarsRepoFailed(-1, e.getMessage());
45+
public void onNext(String msg, ArrayList<Repo> repos) {
46+
mView.top30StarsRepoResult(repos);
4747
}
4848

4949
@Override
50-
public void onNext(ArrayList<Repo> repos) {
51-
mView.top30StarsRepoResult(repos);
50+
public void onError(int code, String msg) {
51+
mView.top30StarsRepoFailed(code, msg);
5252
}
5353
}));
5454
}

app/src/main/java/com/jusenr/androidgithub/home/presenter/RepoDetailPresenter.java

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

33
import com.jusenr.androidgithub.home.contract.RepoDetailContract;
44
import com.jusenr.androidgithub.home.model.model.RepoDetail;
5+
import com.jusenr.androidgithub.retrofit.subscriber.Subscriber0;
56
import com.jusenr.androidlibrary.base.BasePresenter;
67
import com.jusenr.androidlibrary.di.scope.ActivityScope;
78

89
import javax.inject.Inject;
910

10-
import rx.Subscriber;
1111
import rx.functions.Action0;
1212

13+
import static com.umeng.analytics.pro.bs.b;
14+
1315
@ActivityScope
1416
public class RepoDetailPresenter extends BasePresenter<RepoDetailContract.View, RepoDetailContract.Interactor> {
1517

@@ -32,20 +34,20 @@ public void call() {
3234
mView.dismissLoading();
3335
}
3436
})
35-
.subscribe(new Subscriber<RepoDetail>() {
37+
.subscribe(new Subscriber0<RepoDetail>() {
3638
@Override
3739
public void onCompleted() {
3840

3941
}
4042

4143
@Override
42-
public void onError(Throwable e) {
43-
mView.loadRepoDetailsFailed(-1, e.getMessage());
44+
public void onNext(String msg, RepoDetail repoDetail) {
45+
mView.loadRepoDetailsResult(repoDetail);
4446
}
4547

4648
@Override
47-
public void onNext(RepoDetail repoDetail) {
48-
mView.loadRepoDetailsResult(repoDetail);
49+
public void onError(int code, String msg) {
50+
mView.loadRepoDetailsFailed(code, msg);
4951
}
5052
})
5153
);
@@ -65,20 +67,20 @@ public void call() {
6567
mView.dismissLoading();
6668
}
6769
})
68-
.subscribe(new Subscriber<Boolean>() {
70+
.subscribe(new Subscriber0<Boolean>() {
6971
@Override
7072
public void onCompleted() {
7173

7274
}
7375

7476
@Override
75-
public void onError(Throwable e) {
76-
mView.starRepoResult(false);
77+
public void onNext(String msg, Boolean aBoolean) {
78+
mView.starRepoResult(aBoolean);
7779
}
7880

7981
@Override
80-
public void onNext(Boolean b) {
81-
mView.starRepoResult(b);
82+
public void onError(int code, String msg) {
83+
mView.starRepoResult(false);
8284
}
8385
})
8486
);
@@ -98,20 +100,20 @@ public void call() {
98100
mView.dismissLoading();
99101
}
100102
})
101-
.subscribe(new Subscriber<Boolean>() {
103+
.subscribe(new Subscriber0<Boolean>() {
102104
@Override
103105
public void onCompleted() {
104106

105107
}
106108

107109
@Override
108-
public void onError(Throwable e) {
109-
mView.unstarRepoResult(false);
110+
public void onNext(String msg, Boolean aBoolean) {
111+
mView.unstarRepoResult(aBoolean);
110112
}
111113

112114
@Override
113-
public void onNext(Boolean b) {
114-
mView.unstarRepoResult(b);
115+
public void onError(int code, String msg) {
116+
mView.unstarRepoResult(false);
115117
}
116118
})
117119
);

app/src/main/java/com/jusenr/androidgithub/home/presenter/RepoListPresenter.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
import com.jusenr.androidgithub.home.contract.RepoListContract;
44
import com.jusenr.androidgithub.home.model.model.Repo;
55
import com.jusenr.androidgithub.retrofit.api.RepoApi;
6+
import com.jusenr.androidgithub.retrofit.subscriber.Subscriber0;
67
import com.jusenr.androidlibrary.base.BasePresenter;
78
import com.jusenr.androidlibrary.di.scope.ActivityScope;
89

910
import java.util.ArrayList;
1011

1112
import javax.inject.Inject;
1213

13-
import rx.Subscriber;
1414
import rx.functions.Action0;
1515

1616
@ActivityScope
@@ -35,20 +35,20 @@ public void call() {
3535
mView.dismissLoading();
3636
}
3737
})
38-
.subscribe(new Subscriber<ArrayList<Repo>>() {
38+
.subscribe(new Subscriber0<ArrayList<Repo>>() {
3939
@Override
4040
public void onCompleted() {
4141

4242
}
4343

4444
@Override
45-
public void onError(Throwable e) {
46-
mView.loadReposFailed(-1, e.getMessage());
45+
public void onNext(String msg, ArrayList<Repo> repos) {
46+
mView.loadReposResult(repos);
4747
}
4848

4949
@Override
50-
public void onNext(ArrayList<Repo> repos) {
51-
mView.loadReposResult(repos);
50+
public void onError(int code, String msg) {
51+
mView.loadReposFailed(code, msg);
5252
}
5353
}));
5454
}

app/src/main/java/com/jusenr/androidgithub/home/presenter/RepoTreePresenter.java

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

33
import com.jusenr.androidgithub.home.contract.RepoTreeContract;
44
import com.jusenr.androidgithub.home.model.model.Content;
5+
import com.jusenr.androidgithub.retrofit.subscriber.Subscriber0;
56
import com.jusenr.androidlibrary.base.BasePresenter;
67
import com.jusenr.androidlibrary.di.scope.ActivityScope;
78

89
import java.util.ArrayList;
910

1011
import javax.inject.Inject;
1112

12-
import rx.Subscriber;
1313
import rx.functions.Action0;
1414

1515
@ActivityScope
@@ -34,21 +34,21 @@ public void call() {
3434
mView.dismissLoading();
3535
}
3636
})
37-
.subscribe(new Subscriber<ArrayList<Content>>() {
37+
.subscribe(new Subscriber0<ArrayList<Content>>() {
3838

3939
@Override
4040
public void onCompleted() {
4141

4242
}
4343

4444
@Override
45-
public void onError(Throwable e) {
46-
mView.repoContentsFailed(-1, e.getMessage());
45+
public void onNext(String msg, ArrayList<Content> contents) {
46+
mView.repoContentsResult(contents);
4747
}
4848

4949
@Override
50-
public void onNext(ArrayList<Content> contents) {
51-
mView.repoContentsResult(contents);
50+
public void onError(int code, String msg) {
51+
mView.repoContentsFailed(code, msg);
5252
}
5353
}));
5454
}

app/src/main/java/com/jusenr/androidgithub/home/presenter/SearchPresenter.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33

44
import com.jusenr.androidgithub.home.contract.SearchContract;
55
import com.jusenr.androidgithub.home.model.model.Repo;
6+
import com.jusenr.androidgithub.retrofit.subscriber.Subscriber0;
67
import com.jusenr.androidlibrary.base.BasePresenter;
78
import com.jusenr.androidlibrary.di.scope.ActivityScope;
89

910
import java.util.ArrayList;
1011

1112
import javax.inject.Inject;
1213

13-
import rx.Subscriber;
1414
import rx.functions.Action0;
1515

1616
@ActivityScope
@@ -35,20 +35,20 @@ public void call() {
3535
mView.dismissLoading();
3636
}
3737
})
38-
.subscribe(new Subscriber<ArrayList<Repo>>() {
38+
.subscribe(new Subscriber0<ArrayList<Repo>>() {
3939
@Override
4040
public void onCompleted() {
4141

4242
}
4343

4444
@Override
45-
public void onError(Throwable e) {
46-
mView.searchRepoFailed(-1, e.getMessage());
45+
public void onNext(String msg, ArrayList<Repo> repos) {
46+
mView.searchRepoResult(repos);
4747
}
4848

4949
@Override
50-
public void onNext(ArrayList<Repo> repos) {
51-
mView.searchRepoResult(repos);
50+
public void onError(int code, String msg) {
51+
mView.searchRepoFailed(code, msg);
5252
}
5353
}));
5454
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package com.jusenr.androidgithub.retrofit.subscriber;
2+
3+
import com.jusenr.toolslibrary.log.logger.Logger;
4+
5+
import rx.Subscriber;
6+
7+
/**
8+
* Description:
9+
* Copyright : Copyright (c) 2017
10+
* Email : jusenr@163.com
11+
* Author : Jusenr
12+
* Date : 2017/10/16
13+
* Time : 20:06
14+
* Project :androidgithub.
15+
*/
16+
public abstract class Subscriber0<T> extends Subscriber<T> {
17+
@Override
18+
public void onCompleted() {
19+
20+
}
21+
22+
@Override
23+
public void onError(Throwable e) {
24+
e.printStackTrace();
25+
String message = e.getMessage();
26+
onResponse(false, -1, message, null);
27+
onCompleted();
28+
}
29+
30+
@Override
31+
public void onNext(T t) {
32+
onResponse(true, 200, null, t);
33+
}
34+
35+
final void onResponse(boolean success, int code, String msg, T data) {
36+
onCompleted();
37+
if (success) {
38+
Logger.d("####-Data: %s", data.toString());
39+
onNext(msg, data);
40+
} else {
41+
onError(code, msg);
42+
}
43+
}
44+
45+
public abstract void onNext(String msg, T t);
46+
47+
public abstract void onError(int code, String msg);
48+
}

0 commit comments

Comments
 (0)