ParkSangGwon / TedBottomPicker

TedBottomPicker is simple image picker using bottom sheet

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Camera switch bug crash - Null pointer exception showTitle

GuillemRoca opened this issue · comments

I've found a weird bug while switching camera.

Steps to reproduce:
default camera app was open in the background
1.open the sample app with TED initialized with custom string title and choose capture camera
2.while the sample camera is open change apps for default camera
4.change back to sample camera and make the photo
5.observe

Here is the stacktrace:

04-04 10:23:57.062 11220-11220/ E/AndroidRuntime: FATAL EXCEPTION: main Process: com.***, PID: 11220 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.***.develop/com.***.presentation.Activity}: java.lang.NullPointerException: Attempt to read from field 'boolean gun0912.tedbottompicker.TedBottomPicker$Builder.showTitle' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2666) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2727) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1478) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6121) 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 read from field 'boolean gun0912.tedbottompicker.TedBottomPicker$Builder.showTitle' on a null object reference at gun0912.tedbottompicker.TedBottomPicker.setTitle(TedBottomPicker.java:483) at gun0912.tedbottompicker.TedBottomPicker.setupDialog(TedBottomPicker.java:168) at android.support.v4.app.DialogFragment.getLayoutInflater(DialogFragment.java:315) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1299) at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1528) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1595) at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:2900) at android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentController.java:201) at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:603) at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:178) at com.***.presentation.Activity.onStart(ListRoomActivity.java:207) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1248) at android.app.Activity.performStart(Activity.java:6699) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2629) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2727)  at android.app.ActivityThread.-wrap12(ActivityThread.java)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1478)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:154)  at android.app.ActivityThread.main(ActivityThread.java:6121)  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) `` 

Hi, Same here . It happens on a kitkat device.

04-07 12:54:15.695 30270-30270/com.fidfood.app E/AndroidRuntime: FATAL EXCEPTION: main
                                                                 Process: com.fidfood.app, PID: 30270
                                                                 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.fidfood.app/com.fidfood.app.organisation.management.ActivityOrganisation}: java.lang.NullPointerException
                                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2412)
                                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2470)
                                                                     at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4053)
                                                                     at android.app.ActivityThread.access$1000(ActivityThread.java:174)
                                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1313)
                                                                     at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                     at android.os.Looper.loop(Looper.java:146)
                                                                     at android.app.ActivityThread.main(ActivityThread.java:5593)
                                                                     at java.lang.reflect.Method.invokeNative(Native Method)
                                                                     at java.lang.reflect.Method.invoke(Method.java:515)
                                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
                                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
                                                                     at dalvik.system.NativeStart.main(Native Method)
                                                                  Caused by: java.lang.NullPointerException
                                                                     at gun0912.tedbottompicker.TedBottomPicker.setTitle(TedBottomPicker.java:483)
                                                                     at gun0912.tedbottompicker.TedBottomPicker.setupDialog(TedBottomPicker.java:168)
                                                                     at android.support.v4.app.DialogFragment.getLayoutInflater(DialogFragment.java:315)
                                                                     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1299)
                                                                     at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1528)
                                                                     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1595)
                                                                     at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:2900)
                                                                     at android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentController.java:201)
                                                                     at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:603)
                                                                     at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:178)
                                                                     at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1177)
                                                                     at android.app.Activity.performStart(Activity.java:5468)
                                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2385)
                                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2470) 
                                                                     at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4053) 
                                                                     at android.app.ActivityThread.access$1000(ActivityThread.java:174) 
                                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1313) 
                                                                     at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                     at android.os.Looper.loop(Looper.java:146) 
                                                                     at android.app.ActivityThread.main(ActivityThread.java:5593) 
                                                                     at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                     at java.lang.reflect.Method.invoke(Method.java:515) 
                                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 
                                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 
                                                                     at dalvik.system.NativeStart.main(Native Method) 

@joxad same here. Did you figure it out why? or did you find any solution for it?

@GuillemRoca @iammert
Can you upload your sample project code?
I will test and check error.

@ParkSangGwon It is not reproducible on my side. So I don't think sample code will help you because my app is already used by thousands of people and just %1 of users are crashing. Anyway, here is the sample code from my project.

TedBottomPicker bottomSheetDialogFragment = new TedBottomPicker.Builder(AskQuestionActivity.this)
                                .setOnImageSelectedListener(uri -> viewModel.startCropActivity(uri))
                                .setPeekHeight(getResources().getDisplayMetrics().heightPixels / 2)
                                .create();
                        bottomSheetDialogFragment.show(getSupportFragmentManager());

저도 이거 발생하네요.

제폰 노트5는 잘되는데

갤럭시s4 5.0.1버전은

Caused by: java.lang.NullPointerException: Attempt to read from field 'boolean gun0912.tedbottompicker.TedBottomPicker$Builder.showTitle' on a null object reference

널포인트 떠버리네요

사진 직접 촬영시 발생합니다.

잡히지가 않네요 boolean값인데 . 메모리 뻑나서 초기화되었나 싶어서
라지힙 트루도 줘보고,
사진 촬영의 화질을 낮춘걸로 해도 마찬가지네용 ㅎㅎ

I found a solution related to #43 that can apply to this issue.

#43 (comment)