Skip to content

[Bug]: App crashes when trying to change theme while at Upload screen with multi-upload #6404

@rohit9625

Description

@rohit9625

Summary

If we initiate a multi-upload and change the system theme to dark mode or vice versa while being on the Upload screen with more than 1 image, then the app crashes.

Steps to reproduce

  1. Open the app and custom image selector
  2. Try to upload 2 or more pictures
  3. When we arrive at the Upload screen, switch the theme to dark or vice versa
  4. The app crashes when returned to app

Expected behaviour

The app should not crash

Actual behaviour

The app crashes :(

Device name

Pixel 8 Pro Emulator

Android version

Android 14

Commons app version

main

Device logs

kotlin.UninitializedPropertyAccessException: lateinit property uploadMediaDetailAdapter has not been initialized
    at fr.free.nrw.commons.upload.mediaDetails.UploadMediaDetailFragment.onViewCreated(UploadMediaDetailFragment.kt:170)
    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:251)
    at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1582)
    at android.app.Activity.performStart(Activity.java:8628)
    at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3807)
    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:2443)
    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:8177)
    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)

Screen-shots

Screen_recording_20250817_184311.webm

Would you like to work on the issue?

None

Metadata

Metadata

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions