apps-android-commons
apps-android-commons copied to clipboard
split-screen mode: NullPointerException crash in UploadMediaDetailFragment
Summary
I am unable to double-check that I have the correct photos to upload (by using split screen with the photos app) because it causes a NullPointerException every time.
Steps to reproduce
- Select a couple of pictures in Google Photos
- Share them with the commons app
- Go into split-screen mode and select the photos app
Expected behaviour
The app should not crash
Actual behaviour
The app (reliably) crashes with a null pointer exception
java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List fr.free.nrw.commons.upload.UploadMediaDetailAdapter.getItems()' on a null object reference
at fr.free.nrw.commons.upload.mediaDetails.UploadMediaDetailFragment.onViewCreated(UploadMediaDetailFragment.java:199)
at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:2987)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:546)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:112)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1647)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3128)
at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3072)
at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:251)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:502)
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:201)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1582)
at android.app.Activity.performStart(Activity.java:8654)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3847)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:225)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:205)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:177)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:98)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2468)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294)
at android.app.ActivityThread.main(ActivityThread.java:8248)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
Device name
Pixel 8 pro
Android version
Android 14
Commons app version
current "main" branch
@psh this should not happen ideally it onSavedInstance should get called , I am looking into this issue to find more
@nicolas-raoul This issue is no more reproducable. This is fixed in https://github.com/commons-app/apps-android-commons/pull/6565/ - ig we can close this issue.