Dispose observable for places

This commit is contained in:
maskara 2017-11-12 03:17:32 +05:30
parent 6a6ba7d542
commit c97f39fcdf

View file

@ -37,6 +37,7 @@ import fr.free.nrw.commons.theme.NavigationBaseActivity;
import fr.free.nrw.commons.utils.UriSerializer; import fr.free.nrw.commons.utils.UriSerializer;
import io.reactivex.Observable; import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import timber.log.Timber; import timber.log.Timber;
@ -53,6 +54,7 @@ public class NearbyActivity extends NavigationBaseActivity {
private Bundle bundle; private Bundle bundle;
private SharedPreferences sharedPreferences; private SharedPreferences sharedPreferences;
private NearbyActivityMode viewMode; private NearbyActivityMode viewMode;
private Disposable placesDisposable;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
@ -245,6 +247,12 @@ public class NearbyActivity extends NavigationBaseActivity {
locationManager.unregisterLocationManager(); locationManager.unregisterLocationManager();
} }
@Override
protected void onDestroy() {
super.onDestroy();
placesDisposable.dispose();
}
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
@ -258,7 +266,7 @@ public class NearbyActivity extends NavigationBaseActivity {
} }
private void setupPlaceList(Context context) { private void setupPlaceList(Context context) {
Observable.fromCallable(() -> NearbyController placesDisposable = Observable.fromCallable(() -> NearbyController
.loadAttractionsFromLocation(curLatLang, CommonsApplication.getInstance())) .loadAttractionsFromLocation(curLatLang, CommonsApplication.getInstance()))
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())