Skip to content

Commit ecdb7ff

Browse files
committed
Adjusted retrofit related examples
1 parent bdcd334 commit ecdb7ff

File tree

4 files changed

+68
-58
lines changed

4 files changed

+68
-58
lines changed

app/src/main/java/com/morihacky/android/rxjava/fragments/PseudoCacheFragment.java

Lines changed: 33 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,25 @@
1010
import android.widget.ArrayAdapter;
1111
import android.widget.ListView;
1212
import android.widget.TextView;
13-
import butterknife.Bind;
14-
import butterknife.ButterKnife;
15-
import butterknife.OnClick;
13+
1614
import com.morihacky.android.rxjava.R;
1715
import com.morihacky.android.rxjava.retrofit.Contributor;
1816
import com.morihacky.android.rxjava.retrofit.GithubApi;
1917
import com.morihacky.android.rxjava.retrofit.GithubService;
18+
2019
import java.util.ArrayList;
2120
import java.util.HashMap;
2221
import java.util.List;
2322
import java.util.Map;
2423
import java.util.concurrent.TimeUnit;
25-
import rx.Observable;
26-
import rx.Subscriber;
27-
import rx.android.schedulers.AndroidSchedulers;
28-
import rx.schedulers.Schedulers;
24+
25+
import butterknife.Bind;
26+
import butterknife.ButterKnife;
27+
import butterknife.OnClick;
28+
import io.reactivex.Observable;
29+
import io.reactivex.android.schedulers.AndroidSchedulers;
30+
import io.reactivex.observers.DisposableObserver;
31+
import io.reactivex.schedulers.Schedulers;
2932
import timber.log.Timber;
3033

3134
public class PseudoCacheFragment
@@ -61,9 +64,9 @@ public void onConcatBtnClicked() {
6164
Observable.concat(getSlowCachedDiskData(), getFreshNetworkData())
6265
.subscribeOn(Schedulers.io()) // we want to add a list item at time of subscription
6366
.observeOn(AndroidSchedulers.mainThread())
64-
.subscribe(new Subscriber<Contributor>() {
67+
.subscribe(new DisposableObserver<Contributor>() {
6568
@Override
66-
public void onCompleted() {
69+
public void onComplete() {
6770
Timber.d("done loading all data");
6871
}
6972

@@ -86,12 +89,16 @@ public void onConcatEagerBtnClicked() {
8689
infoText.setText(R.string.msg_pseudoCache_demoInfo_concatEager);
8790
wireupDemo();
8891

89-
Observable.concatEager(getSlowCachedDiskData(), getFreshNetworkData())
92+
List<Observable<Contributor>> observables = new ArrayList<>(2);
93+
observables.add(getSlowCachedDiskData());
94+
observables.add(getFreshNetworkData());
95+
96+
Observable.concatEager(observables)
9097
.subscribeOn(Schedulers.io()) // we want to add a list item at time of subscription
9198
.observeOn(AndroidSchedulers.mainThread())
92-
.subscribe(new Subscriber<Contributor>() {
99+
.subscribe(new DisposableObserver<Contributor>() {
93100
@Override
94-
public void onCompleted() {
101+
public void onComplete() {
95102
Timber.d("done loading all data");
96103
}
97104

@@ -118,9 +125,9 @@ public void onMergeBtnClicked() {
118125
Observable.merge(getCachedDiskData(), getFreshNetworkData())
119126
.subscribeOn(Schedulers.io()) // we want to add a list item at time of subscription
120127
.observeOn(AndroidSchedulers.mainThread())
121-
.subscribe(new Subscriber<Contributor>() {
128+
.subscribe(new DisposableObserver<Contributor>() {
122129
@Override
123-
public void onCompleted() {
130+
public void onComplete() {
124131
Timber.d("done loading all data");
125132
}
126133

@@ -146,9 +153,9 @@ public void onMergeSlowBtnClicked() {
146153
Observable.merge(getSlowCachedDiskData(), getFreshNetworkData())
147154
.subscribeOn(Schedulers.io()) // we want to add a list item at time of subscription
148155
.observeOn(AndroidSchedulers.mainThread())
149-
.subscribe(new Subscriber<Contributor>() {
156+
.subscribe(new DisposableObserver<Contributor>() {
150157
@Override
151-
public void onCompleted() {
158+
public void onComplete() {
152159
Timber.d("done loading all data");
153160
}
154161

@@ -177,9 +184,9 @@ public void onMergeOptimizedBtnClicked() {
177184
getCachedDiskData().takeUntil(network)))
178185
.subscribeOn(Schedulers.io()) // we want to add a list item at time of subscription
179186
.observeOn(AndroidSchedulers.mainThread())
180-
.subscribe(new Subscriber<Contributor>() {
187+
.subscribe(new DisposableObserver<Contributor>() {
181188
@Override
182-
public void onCompleted() {
189+
public void onComplete() {
183190
Timber.d("done loading all data");
184191
}
185192

@@ -208,9 +215,9 @@ public void onMergeOptimizedWithSlowDiskBtnClicked() {
208215
getSlowCachedDiskData().takeUntil(network)))
209216
.subscribeOn(Schedulers.io()) // we want to add a list item at time of subscription
210217
.observeOn(AndroidSchedulers.mainThread())
211-
.subscribe(new Subscriber<Contributor>() {
218+
.subscribe(new DisposableObserver<Contributor>() {
212219
@Override
213-
public void onCompleted() {
220+
public void onComplete() {
214221
Timber.d("done loading all data");
215222
}
216223

@@ -259,10 +266,10 @@ private Observable<Contributor> getCachedDiskData() {
259266
list.add(c);
260267
}
261268

262-
return Observable.from(list)//
263-
.doOnSubscribe(() -> new Handler(Looper.getMainLooper())//
269+
return Observable.fromIterable(list)//
270+
.doOnSubscribe((data) -> new Handler(Looper.getMainLooper())//
264271
.post(() -> adapterSubscriptionInfo.add("(disk) cache subscribed")))//
265-
.doOnCompleted(() -> new Handler(Looper.getMainLooper())//
272+
.doOnComplete(() -> new Handler(Looper.getMainLooper())//
266273
.post(() -> adapterSubscriptionInfo.add("(disk) cache completed")));
267274
}
268275

@@ -271,10 +278,10 @@ private Observable<Contributor> getFreshNetworkData() {
271278
GithubApi githubService = GithubService.createGithubService(githubToken);
272279

273280
return githubService.contributors("square", "retrofit")
274-
.flatMap(Observable::from)
275-
.doOnSubscribe(() -> new Handler(Looper.getMainLooper())//
281+
.flatMap(Observable::fromIterable)
282+
.doOnSubscribe((data) -> new Handler(Looper.getMainLooper())//
276283
.post(() -> adapterSubscriptionInfo.add("(network) subscribed")))//
277-
.doOnCompleted(() -> new Handler(Looper.getMainLooper())//
284+
.doOnComplete(() -> new Handler(Looper.getMainLooper())//
278285
.post(() -> adapterSubscriptionInfo.add("(network) completed")));
279286
}
280287

app/src/main/java/com/morihacky/android/rxjava/fragments/PseudoCacheMergeFragment.java

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,23 @@
88
import android.view.ViewGroup;
99
import android.widget.ArrayAdapter;
1010
import android.widget.ListView;
11-
import butterknife.Bind;
12-
import butterknife.ButterKnife;
13-
import butterknife.OnClick;
11+
1412
import com.morihacky.android.rxjava.R;
1513
import com.morihacky.android.rxjava.retrofit.Contributor;
1614
import com.morihacky.android.rxjava.retrofit.GithubApi;
1715
import com.morihacky.android.rxjava.retrofit.GithubService;
16+
1817
import java.util.ArrayList;
1918
import java.util.HashMap;
2019
import java.util.List;
21-
import rx.Observable;
22-
import rx.Subscriber;
23-
import rx.android.schedulers.AndroidSchedulers;
24-
import rx.schedulers.Schedulers;
20+
21+
import butterknife.Bind;
22+
import butterknife.ButterKnife;
23+
import butterknife.OnClick;
24+
import io.reactivex.Observable;
25+
import io.reactivex.android.schedulers.AndroidSchedulers;
26+
import io.reactivex.observers.DisposableObserver;
27+
import io.reactivex.schedulers.Schedulers;
2528
import timber.log.Timber;
2629

2730
public class PseudoCacheMergeFragment
@@ -59,9 +62,9 @@ public void onDemoPseudoCacheClicked() {
5962
Observable.merge(_getCachedData(), _getFreshData())
6063
.subscribeOn(Schedulers.io())
6164
.observeOn(AndroidSchedulers.mainThread())
62-
.subscribe(new Subscriber<Pair<Contributor, Long>>() {
65+
.subscribe(new DisposableObserver<Pair<Contributor,Long>>() {
6366
@Override
64-
public void onCompleted() {
67+
public void onComplete() {
6568
Timber.d("done loading all data");
6669
}
6770

@@ -114,15 +117,15 @@ private Observable<Pair<Contributor, Long>> _getCachedData() {
114117
list.add(dataWithAgePair);
115118
}
116119

117-
return Observable.from(list);
120+
return Observable.fromIterable(list);
118121
}
119122

120123
private Observable<Pair<Contributor, Long>> _getFreshData() {
121124
String githubToken = getResources().getString(R.string.github_oauth_token);
122125
GithubApi githubService = GithubService.createGithubService(githubToken);
123126

124127
return githubService.contributors("square", "retrofit")
125-
.flatMap(Observable::from)
128+
.flatMap(Observable::fromIterable)
126129
.map(contributor -> new Pair<>(contributor, System.currentTimeMillis()));
127130
}
128131

app/src/main/java/com/morihacky/android/rxjava/fragments/RetrofitAsyncTaskDeathFragment.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121
import butterknife.Bind;
2222
import butterknife.ButterKnife;
2323
import butterknife.OnClick;
24-
import rx.Observer;
25-
import rx.android.schedulers.AndroidSchedulers;
26-
import rx.schedulers.Schedulers;
24+
import io.reactivex.android.schedulers.AndroidSchedulers;
25+
import io.reactivex.observers.DisposableObserver;
26+
import io.reactivex.schedulers.Schedulers;
2727

2828
import static java.lang.String.format;
2929

@@ -89,9 +89,9 @@ protected void onPostExecute(User user) {
8989
_githubService.user(_username.getText().toString())
9090
.subscribeOn(Schedulers.io())
9191
.observeOn(AndroidSchedulers.mainThread())
92-
.subscribe(new Observer<User>() {
92+
.subscribe(new DisposableObserver<User>() {
9393
@Override
94-
public void onCompleted() {
94+
public void onComplete() {
9595
}
9696

9797
@Override

app/src/main/java/com/morihacky/android/rxjava/fragments/RetrofitFragment.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,11 @@
2323
import butterknife.Bind;
2424
import butterknife.ButterKnife;
2525
import butterknife.OnClick;
26-
import rx.Observable;
27-
import rx.Observer;
28-
import rx.Subscriber;
29-
import rx.android.schedulers.AndroidSchedulers;
30-
import rx.schedulers.Schedulers;
31-
import rx.subscriptions.CompositeSubscription;
26+
import io.reactivex.Observable;
27+
import io.reactivex.android.schedulers.AndroidSchedulers;
28+
import io.reactivex.disposables.CompositeDisposable;
29+
import io.reactivex.observers.DisposableObserver;
30+
import io.reactivex.schedulers.Schedulers;
3231
import timber.log.Timber;
3332

3433
import static android.text.TextUtils.isEmpty;
@@ -43,15 +42,15 @@ public class RetrofitFragment
4342

4443
private ArrayAdapter<String> _adapter;
4544
private GithubApi _githubService;
46-
private CompositeSubscription _subscriptions;
45+
private CompositeDisposable _disposables;
4746

4847
@Override
4948
public void onCreate(Bundle savedInstanceState) {
5049
super.onCreate(savedInstanceState);
5150
String githubToken = getResources().getString(R.string.github_oauth_token);
5251
_githubService = GithubService.createGithubService(githubToken);
5352

54-
_subscriptions = new CompositeSubscription();
53+
_disposables = new CompositeDisposable();
5554
}
5655

5756
@Override
@@ -78,20 +77,21 @@ public void onDestroyView() {
7877
@Override
7978
public void onDestroy() {
8079
super.onDestroy();
81-
_subscriptions.unsubscribe();
80+
_disposables.dispose();
8281
}
8382

8483
@OnClick(R.id.btn_demo_retrofit_contributors)
8584
public void onListContributorsClicked() {
8685
_adapter.clear();
8786

88-
_subscriptions.add(//
87+
_disposables.add(//
8988
_githubService.contributors(_username.getText().toString(), _repo.getText().toString())
9089
.subscribeOn(Schedulers.io())
9190
.observeOn(AndroidSchedulers.mainThread())
92-
.subscribe(new Observer<List<Contributor>>() {
91+
.subscribeWith(new DisposableObserver<List<Contributor>>() {
92+
9393
@Override
94-
public void onCompleted() {
94+
public void onComplete() {
9595
Timber.d("Retrofit call 1 completed");
9696
}
9797

@@ -121,8 +121,8 @@ public void onNext(List<Contributor> contributors) {
121121
public void onListContributorsWithFullUserInfoClicked() {
122122
_adapter.clear();
123123

124-
_subscriptions.add(_githubService.contributors(_username.getText().toString(), _repo.getText().toString())
125-
.flatMap(Observable::from)
124+
_disposables.add(_githubService.contributors(_username.getText().toString(), _repo.getText().toString())
125+
.flatMap(Observable::fromIterable)
126126
.flatMap(contributor -> {
127127
Observable<User> _userObservable = _githubService.user(contributor.login)
128128
.filter(user -> !isEmpty(user.name) && !isEmpty(user.email));
@@ -133,9 +133,9 @@ public void onListContributorsWithFullUserInfoClicked() {
133133
})
134134
.subscribeOn(Schedulers.newThread())
135135
.observeOn(AndroidSchedulers.mainThread())
136-
.subscribe(new Subscriber<Pair>() {
136+
.subscribeWith(new DisposableObserver<Pair<User,Contributor>>() {
137137
@Override
138-
public void onCompleted() {
138+
public void onComplete() {
139139
Timber.d("Retrofit call 2 completed ");
140140
}
141141

0 commit comments

Comments
 (0)