1010import android .widget .ArrayAdapter ;
1111import android .widget .ListView ;
1212import android .widget .TextView ;
13- import butterknife .Bind ;
14- import butterknife .ButterKnife ;
15- import butterknife .OnClick ;
13+
1614import com .morihacky .android .rxjava .R ;
1715import com .morihacky .android .rxjava .retrofit .Contributor ;
1816import com .morihacky .android .rxjava .retrofit .GithubApi ;
1917import com .morihacky .android .rxjava .retrofit .GithubService ;
18+
2019import java .util .ArrayList ;
2120import java .util .HashMap ;
2221import java .util .List ;
2322import java .util .Map ;
2423import 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 ;
2932import timber .log .Timber ;
3033
3134public 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
0 commit comments