afollestad/assent

Crash when saving state with Jetpack Navigation components

オープン

#11 opened on 2019/03/24

 (7 件のコメント) (0 件のリアクション) (0 人の担当者)Kotlin (55 件のフォーク)github user discovery
bughelp wanted

Repository metrics

Stars
 (842 個のスター)
PR merge metrics
 (30d に merged PR はありません)

説明

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

コントリビューターガイド