apps-android-commons icon indicating copy to clipboard operation
apps-android-commons copied to clipboard

split-screen mode: NullPointerException crash in UploadMediaDetailFragment

Open psh opened this issue 1 year ago • 1 comments

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

  1. Select a couple of pictures in Google Photos
  2. Share them with the commons app
  3. 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 avatar Mar 02 '24 15:03 psh

@psh this should not happen ideally it onSavedInstance should get called , I am looking into this issue to find more

shashankiitbhu avatar Mar 02 '24 17:03 shashankiitbhu

@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.

Kota-Jagadeesh avatar Nov 26 '25 13:11 Kota-Jagadeesh