Apps-android-commons: App crash On categoryDetail activity when click on image after orientation change

Created on 29 Apr 2021  路  6Comments  路  Source: commons-app/apps-android-commons

Summary:

App crash On categoryDetail activity when click on image after orientation change

Steps to reproduce:

  1. Open categoryDetail activity
  2. change the orientation
  3. click on the image

System logs:

2021-04-29 09:06:54.580 31940-31940/fr.free.nrw.commons E/ACRA: ACRA caught a UninitializedPropertyAccessException for fr.free.nrw.commons
    kotlin.UninitializedPropertyAccessException: lateinit property categoryImagesCallback has not been initialized
        at fr.free.nrw.commons.explore.media.PageableMediaFragment.getCategoryImagesCallback(PageableMediaFragment.kt:24)
        at fr.free.nrw.commons.explore.media.PageableMediaFragment$pagedListAdapter$2.invoke(PageableMediaFragment.kt:17)
        at fr.free.nrw.commons.explore.media.PageableMediaFragment$pagedListAdapter$2.invoke(PageableMediaFragment.kt:14)
        at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
        at fr.free.nrw.commons.explore.media.PageableMediaFragment.getPagedListAdapter(PageableMediaFragment.kt)
        at fr.free.nrw.commons.explore.media.PageableMediaFragment.getTotalMediaCount(PageableMediaFragment.kt:55)
        at fr.free.nrw.commons.category.CategoryDetailsActivity.getTotalMediaCount(CategoryDetailsActivity.java:160)
        at fr.free.nrw.commons.media.MediaDetailPagerFragment$MediaDetailAdapter.getCount(MediaDetailPagerFragment.java:438)
        at androidx.viewpager.widget.ViewPager.setAdapter(ViewPager.java:532)
        at fr.free.nrw.commons.media.MediaDetailPagerFragment.onCreateView(MediaDetailPagerFragment.java:109)
        at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2698)
        at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:310)
        at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1185)
        at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1354)
        at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1432)
        at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1495)
        at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:447)
        at androidx.fragment.app.FragmentManager.executeOps(FragmentManager.java:2167)
        at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1990)
        at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1945)
        at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1847)
        at androidx.fragment.app.FragmentManager.executePendingTransactions(FragmentManager.java:489)
        at fr.free.nrw.commons.category.CategoryDetailsActivity.onMediaClicked(CategoryDetailsActivity.java:125)
        at fr.free.nrw.commons.explore.media.PageableMediaFragment$pagedListAdapter$2$1.invoke(PageableMediaFragment.kt:17)
        at fr.free.nrw.commons.explore.media.PageableMediaFragment$pagedListAdapter$2$1.invoke(PageableMediaFragment.kt:14)
        at fr.free.nrw.commons.explore.media.SearchImagesViewHolder$bind$1.onClick(PagedMediaAdapter.kt:37)
        at android.view.View.performClick(View.java:5647)
        at android.view.View$PerformClick.run(View.java:22465)
        at android.os.Handler.handleCallback(Handler.java:754)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:163)
        at android.app.ActivityThread.main(ActivityThread.java:6238)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)

Device and Android version:
Android Device :Redmi y3
API :
Commons app version:
Latest master
Screen-shots:

https://user-images.githubusercontent.com/65972015/116501158-bf872800-a8cd-11eb-83b6-0043f2b41569.mp4

Would you like to work on the issue?
YES.

assigned bug

All 6 comments

@nicolas-raoul can i work on this issue

I can reproduce the crash.
Thanks for finding this!

@nicolas-raoul @ashishkumar468 @madhurgupta10 how i solve this Exception : java.lang.IllegalStateException: FragmentManager has been destroyed
when commit the fragmentTransaction

mediaDetails = new MediaDetailPagerFragment(false, true); FragmentManager supportFragmentManager = getSupportFragmentManager(); supportFragmentManager .beginTransaction() .replace(R.id.mediaContainer, mediaDetails) .addToBackStack(null) .commit(); supportFragmentManager.executePendingTransactions();

@nicolas-raoul I am not able to solve this issue assign to someone other

@nicolas-raoul Can I work on this?

@Pratham2305 Sure, feel free to make a PR for it!

Was this page helpful?
0 / 5 - 0 ratings