18
18
import butterknife .Bind ;
19
19
import butterknife .ButterKnife ;
20
20
import com .morihacky .android .rxjava .R ;
21
+ import io .reactivex .android .schedulers .AndroidSchedulers ;
22
+ import io .reactivex .disposables .Disposable ;
23
+ import io .reactivex .processors .PublishProcessor ;
21
24
import java .util .ArrayList ;
22
25
import java .util .List ;
23
- import rx .android .schedulers .AndroidSchedulers ;
24
- import rx .subjects .PublishSubject ;
25
26
26
27
public class NetworkDetectorFragment
27
28
extends BaseFragment {
@@ -31,7 +32,8 @@ public class NetworkDetectorFragment
31
32
private LogAdapter adapter ;
32
33
private BroadcastReceiver broadcastReceiver ;
33
34
private List <String > logs ;
34
- private PublishSubject <Boolean > publishSubject ;
35
+ private Disposable disposable ;
36
+ private PublishProcessor <Boolean > publishProcessor ;
35
37
36
38
@ Override
37
39
public void onDestroy () {
@@ -58,9 +60,9 @@ public void onActivityCreated(@Nullable Bundle savedInstanceState) {
58
60
public void onStart () {
59
61
super .onStart ();
60
62
61
- publishSubject = PublishSubject .create ();
63
+ publishProcessor = PublishProcessor .create ();
62
64
63
- publishSubject
65
+ disposable = publishProcessor
64
66
.startWith (getConnectivityStatus (getActivity ()))
65
67
.distinctUntilChanged ()
66
68
.observeOn (AndroidSchedulers .mainThread ())
@@ -79,6 +81,8 @@ public void onStart() {
79
81
@ Override
80
82
public void onStop () {
81
83
super .onStop ();
84
+
85
+ disposable .dispose ();
82
86
getActivity ().unregisterReceiver (broadcastReceiver );
83
87
}
84
88
@@ -87,7 +91,7 @@ private void listenToNetworkConnectivity() {
87
91
broadcastReceiver = new BroadcastReceiver () {
88
92
@ Override
89
93
public void onReceive (Context context , Intent intent ) {
90
- publishSubject .onNext (getConnectivityStatus (context ));
94
+ publishProcessor .onNext (getConnectivityStatus (context ));
91
95
}
92
96
};
93
97
0 commit comments