-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Closed
Description
Summary:
The Observable in SearchImageFragment has not been disposed as per the fragment lifecycle and because of which the app crashes (along with memory leaks), when RxCallbacks are received after the fragment is stopped/detached
System logs:
USER_COMMENT=French locale
ANDROID_VERSION=7.1.2
APP_VERSION_NAME=2.10.1.260
BRAND=google
PHONE_MODEL=Nexus 5
CUSTOM_DATA=
STACK_TRACE=io.reactivex.exceptions.OnErrorNotImplementedException: Attempt to invoke virtual method 'void android.view.View.setVisibility(int)' on a null object reference
at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:704)
at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:701)
at io.reactivex.internal.observers.LambdaObserver.onError(LambdaObserver.java:77)
at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:67)
at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:200)
at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:252)
at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:119)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6186)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setVisibility(int)' on a null object reference
at fr.free.nrw.commons.explore.images.SearchImageFragment.handleNoInternet(SearchImageFragment.java:233)
at fr.free.nrw.commons.explore.images.SearchImageFragment.updateImageList(SearchImageFragment.java:136)
at fr.free.nrw.commons.explore.SearchActivity.lambda$setTabs$1$SearchActivity(SearchActivity.java:112)
at fr.free.nrw.commons.explore.SearchActivity$$Lambda$1.accept(Unknown Source)
at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:63)
... 10 more
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setVisibility(int)' on a null object reference
at fr.free.nrw.commons.explore.images.SearchImageFragment.handleNoInternet(SearchImageFragment.java:233)
at fr.free.nrw.commons.explore.images.SearchImageFragment.updateImageList(SearchImageFragment.java:136)
at fr.free.nrw.commons.explore.SearchActivity.lambda$setTabs$1$SearchActivity(SearchActivity.java:112)
at fr.free.nrw.commons.explore.SearchActivity$$Lambda$1.accept(Unknown Source)
at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:63)
at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:200)
at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:252)
at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:119)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6186)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779) ```
**Device and Android version:**
APP_VERSION_NAME=2.10.1.260
BRAND=google
PHONE_MODEL=Nexus 5
**Commons app version:**
2.10.1.260
**Would you like to work on the issue?**
Yes
nicolas-raoul