afollestad/assent

Crash when saving state with Jetpack Navigation components

Aperta

#11 aperta il 24 mar 2019

 (7 commenti) (0 reazioni) (0 assegnatari)Kotlin (55 fork)github user discovery
bughelp wanted

Metriche repository

Star
 (842 stelle)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

Library Version:

2.2.3

Affected Device(s):

XIAOMI note 3 android 7.1.2

Describe the Bug:

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.foooo.baaar, PID: 29733
    java.lang.IllegalStateException: Failure saving state: active PermissionFragment{b24a4fa} has cleared index: -1
        at androidx.fragment.app.FragmentManagerImpl.saveAllState(FragmentManager.java:2960)
        at androidx.fragment.app.Fragment.performSaveInstanceState(Fragment.java:2628)
        at androidx.fragment.app.FragmentManagerImpl.saveFragmentBasicState(FragmentManager.java:2910)
        at androidx.fragment.app.FragmentManagerImpl.saveAllState(FragmentManager.java:2971)
        at androidx.fragment.app.FragmentController.saveAllState(FragmentController.java:134)
        at androidx.fragment.app.FragmentActivity.onSaveInstanceState(FragmentActivity.java:591)
        at androidx.appcompat.app.AppCompatActivity.onSaveInstanceState(AppCompatActivity.java:510)
        at android.app.Activity.performSaveInstanceState(Activity.java:1415)
        at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1301)
        at android.app.ActivityThread.callCallActivityOnSaveInstanceState(ActivityThread.java:4597)
        at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3908)
        at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3971)
        at android.app.ActivityThread.-wrap25(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1541)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:153)
        at android.app.ActivityThread.main(ActivityThread.java:6244)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:891)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:781)

To Reproduce:

  1. using jetpack navigation launch fragment
  2. run runWithPermissions(Permission.WRITE_EXTERNAL_STORAGE) { doSomeStuff()}
  3. press home and save state with override fun onSaveInstanceState(outState: Bundle) { super.onSaveInstanceState(outState) // Save recycler view state outState.putParcelable("LIST_STATE_KEY", mLayoutManager?.onSaveInstanceState()) }
  4. crash

Expected Behavior: when i press home without doing runWithPermissions(Permission.WRITE_EXTERNAL_STORAGE) { doSomeStuff()} it works fine otherwise it crashes

Guida contributor