private void showAvatarImagePicker() {
ImagePicker.Builder builder = new ImagePicker.Builder(getActivity())
.mode(ImagePicker.Mode.CAMERA_AND_GALLERY)
.compressLevel(ImagePicker.ComperesLevel.NONE)
.directory(ImagePicker.Directory.DEFAULT)
.extension(ImagePicker.Extension.JPG)
.scale(344, 344)
.allowMultipleImages(false)
.enableDebuggingMode(true);
imagePickDisposable.dispose();
imagePickDisposable = new ImagePickerHelper(builder).getObservable()
.subscribe(data -> {
updateUiWithImage(date)
}, throwable -> logger.error("error while picking an image", throwable));
}
Crash log:
Fatal Exception: io.reactivex.exceptions.UndeliverableException: java.lang.Throwable: user did not select any image
at io.reactivex.plugins.RxJavaPlugins.onError + 367(RxJavaPlugins.java:367)
at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.onError + 74(ObservableCreate.java:74)
at net.alhazmy13.mediapicker.rxjava.image.ImagePickerReceiver.onReceive + 35(ImagePickerReceiver.java:35)
at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0 + 1487(LoadedApk.java:1487)
at android.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA.run + 2(-.java:2)
at android.os.Handler.handleCallback + 873(Handler.java:873)
at android.os.Handler.dispatchMessage + 99(Handler.java:99)
at android.os.Looper.loop + 216(Looper.java:216)
at android.app.ActivityThread.main + 7263(ActivityThread.java:7263)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run + 494(RuntimeInit.java:494)
at com.android.internal.os.ZygoteInit.main + 975(ZygoteInit.java:975)
Caused by java.lang.Throwable: user did not select any image
at net.alhazmy13.mediapicker.rxjava.image.ImagePickerReceiver.onReceive + 35(ImagePickerReceiver.java:35)
at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0 + 1487(LoadedApk.java:1487)
at android.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA.run + 2(-.java:2)
at android.os.Handler.handleCallback + 873(Handler.java:873)
at android.os.Handler.dispatchMessage + 99(Handler.java:99)
at android.os.Looper.loop + 216(Looper.java:216)
at android.app.ActivityThread.main + 7263(ActivityThread.java:7263)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run + 494(RuntimeInit.java:494)
at com.android.internal.os.ZygoteInit.main + 975(ZygoteInit.java:975)
Steps to reproduce:
(1) In developers options on phone, enable the 'Don't keep activities' flag
(2) Launch app on phone with ImagePickerHelper code above
(3) Select either Gallery or Camera when prompted for image source
(4) Press the back button
(5) Observe app crashes
Fix:
In ImagePickerObservable, add this line in the subscribe method:
Example Code that causes crash:
Crash log:
Steps to reproduce: (1) In developers options on phone, enable the 'Don't keep activities' flag (2) Launch app on phone with ImagePickerHelper code above (3) Select either Gallery or Camera when prompted for image source (4) Press the back button (5) Observe app crashes
Fix: In ImagePickerObservable, add this line in the subscribe method: