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