kotlin-toolkit: java.lang.NoSuchMethodException: org.readium.r2.navigator.epub.EpubNavigatorFragment. []

Bug Report

What happened?

Android application crashes, probably on configuration changes (the easiest way to reproduce is to rotate the screen).

Orientation changes are disabled in my app, but as I see from Crashlytics it still crashes, probably on some other config changes.

Caused by java.lang.NoSuchMethodException: org.readium.r2.navigator.epub.EpubNavigatorFragment.<init> []
       at java.lang.Class.getConstructor0(Class.java:2332)
       at java.lang.Class.getConstructor(Class.java:1728)
       at androidx.fragment.app.Fragment.instantiate(Fragment.java:672)
       at androidx.fragment.app.FragmentContainer.instantiate(FragmentContainer.java:57)
       at androidx.fragment.app.FragmentManager$3.instantiate(FragmentManager.java:525)
       at androidx.fragment.app.FragmentState.instantiate(FragmentState.java:84)
       at androidx.fragment.app.FragmentStateManager.<init>(FragmentStateManager.java:91)
       at androidx.fragment.app.FragmentManager.restoreSaveStateInternal(FragmentManager.java:2562)
       at androidx.fragment.app.Fragment.restoreChildFragmentState(Fragment.java:1988)
       at androidx.fragment.app.Fragment.onCreate(Fragment.java:1967)
       at androidx.fragment.app.Fragment.performCreate(Fragment.java:3094)
       at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:504)
       at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:268)
       at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:114)
       at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1455)
       at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3034)
       at androidx.fragment.app.FragmentManager.dispatchCreate(FragmentManager.java:2941)
       at androidx.fragment.app.FragmentController.dispatchCreate(FragmentController.java:252)
       at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:219)
       at pro.labster.eboox.app.presentation.main.MainActivity.onCreate(MainActivity.kt:87)
       at android.app.Activity.performCreate(Activity.java:7893)
       at android.app.Activity.performCreate(Activity.java:7880)
       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1306)
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3315)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3489)
       at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
       at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2073)
       at android.os.Handler.dispatchMessage(Handler.java:107)
       at android.os.Looper.loop(Looper.java:225)
       at android.app.ActivityThread.main(ActivityThread.java:7563)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:994)

Expected behavior

App doesn’t crash

How to reproduce?

Rotate the screen

Environment

  • Readium version:

Development environment

  • OS: macOS 13.6
  • IDE: IDEA 2023.2.2

Testing device

Any device actually

  • Android version: 13
  • Model: Pixel 6
  • Is it an emulator? No

Additional context

  • Are you willing to fix the problem and contribute a pull request? No

About this issue

  • Original URL
  • State: closed
  • Created 9 months ago
  • Comments: 20 (11 by maintainers)

Most upvoted comments

2.4.0 is released. Take a look at the migration guide as Readium is now distributed through Maven Central.

All good from my side now 🙏🏻