Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can not perform this action after onSaveInstanceState in setNavigator #31

Closed
xpathexception opened this issue Apr 5, 2017 · 2 comments

Comments

@xpathexception
Copy link

Activity's OnResume and OnPause looks exactly like this

@Override
protected void onResume(){
    super.onResume();
    MyApp.INSTANCE.getNavigatorHolder().setNavigator(navigator);
}

@Override
protected void onPause(){
    MyApp.INSTANCE.getNavigatorHolder().removeNavigator();
    super.onPause();
}

This exception is reported by remote device and I really don't know how reproduce it, so the only information I have is the following stack trace:

Fatal Exception: java.lang.RuntimeException: Unable to resume activity {my.app/my.app.activity.RootActivity}: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3226)
    at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3257)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1514)
    at android.os.Handler.dispatchMessage(Handler.java:111)
    at android.os.Looper.loop(Looper.java:194)
    at android.app.ActivityThread.main(ActivityThread.java:5631)
    at java.lang.reflect.Method.invoke(Method.java)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
Caused by java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
    at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1842)
    at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1860)
    at android.support.v4.app.FragmentManagerImpl.popBackStack(FragmentManager.java:770)
    at ru.terrakok.cicerone.android.SupportFragmentNavigator.backToRoot(SupportFragmentNavigator.java:145)
    at ru.terrakok.cicerone.android.SupportFragmentNavigator.backToUnexisting(SupportFragmentNavigator.java:189)
    at ru.terrakok.cicerone.android.SupportFragmentNavigator.applyCommand(SupportFragmentNavigator.java:135)
    at ru.terrakok.cicerone.CommandBuffer.executeCommand(CommandBuffer.java:43)
    at ru.terrakok.cicerone.CommandBuffer.setNavigator(CommandBuffer.java:26)
    at my.app.activity.RootActivity.onResume(RootActivity.java:1248)
    at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1267)
    at android.app.Activity.performResume(Activity.java:6178)
    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3211)
    at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3257)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1514)
    at android.os.Handler.dispatchMessage(Handler.java:111)
    at android.os.Looper.loop(Looper.java:194)
    at android.app.ActivityThread.main(ActivityThread.java:5631)
    at java.lang.reflect.Method.invoke(Method.java)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)

I have two different devices which was affected by this issue:

Philips V377 Android 5.1
UMI X2 Android 4.2.1

@Jeevuz
Copy link
Contributor

Jeevuz commented Apr 5, 2017

Hi! Please look at the Readme. We added the Attention about it. With support fragments you need to use onResumeFragments() insteed of onResume().

@xpathexception
Copy link
Author

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants