datetimepicker icon indicating copy to clipboard operation
datetimepicker copied to clipboard

IllegalStateException : Can not perform this action after onSaveInstanceState

Open kangfenmao opened this issue 5 years ago • 3 comments

Bug report

Summary

java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState at androidx.fragment.app.FragmentManagerImpl.checkStateLoss(FragmentManagerImpl.java:1536)

Environment info

react-native info output:

System:
    OS: macOS 10.15.5
    CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 1020.26 MB / 32.00 GB
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 12.16.1 - /usr/local/bin/node
    Yarn: Not Found
    npm: 6.14.6 - /usr/local/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.9.3 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 13.6, DriverKit 19.0, macOS 10.15, tvOS 13.4, watchOS 6.2
    Android SDK: Not Found
  IDEs:
    Android Studio: 4.0 AI-193.6911.18.40.6626763
    Xcode: 11.6/11E708 - /usr/bin/xcodebuild
  Languages:
    Java: 11.0.5 - /usr/bin/javac
    Python: 2.7.16 - /usr/bin/python
  npmPackages:
    @react-native-community/cli: Not Found
    react: ^16.13.1 => 16.13.1 
    react-native: ^0.62.2 => 0.62.2 
  npmGlobalPackages:
    *react-native*: Not Found

Library version: 2.4.2

Steps to reproduce

Error tracking log:

java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
	at androidx.fragment.app.FragmentManager.checkStateLoss(FragmentManager.java:1691)
	at androidx.fragment.app.FragmentManager.enqueueAction(FragmentManager.java:1731)
	at androidx.fragment.app.BackStackRecord.commitInternal(BackStackRecord.java:321)
	at androidx.fragment.app.BackStackRecord.commit(BackStackRecord.java:286)
	at androidx.fragment.app.DialogFragment.show(DialogFragment.java:175)
	at com.reactcommunity.rndatetimepicker.RNTimePickerDialogModule.open(RNTimePickerDialogModule.java:120)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372)
	at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:151)
	at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
	at android.os.Handler.handleCallback(Handler.java:761)
	at android.os.Handler.dispatchMessage(Handler.java:98)
	at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
	at android.os.Looper.loop(Looper.java:156)
	at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:226)
	at java.lang.Thread.run(Thread.java:776)

kangfenmao avatar Jul 21 '20 07:07 kangfenmao

I am also facing this in version 2.5.0

Fatal Exception: java.lang.IllegalStateException
Can not perform this action after onSaveInstanceState
androidx.fragment.app.FragmentManager.checkStateLoss (FragmentManager.java:1691)
androidx.fragment.app.FragmentManager.enqueueAction (FragmentManager.java:1731)
androidx.fragment.app.BackStackRecord.commitInternal (BackStackRecord.java:321)
androidx.fragment.app.BackStackRecord.commit (BackStackRecord.java:286)
androidx.fragment.app.DialogFragment.show (DialogFragment.java:175)
com.reactcommunity.rndatetimepicker.RNTimePickerDialogModule.open (RNTimePickerDialogModule.java:122)
java.lang.reflect.Method.invoke (Method.java)
com.facebook.react.bridge.JavaMethodWrapper.invoke (JavaMethodWrapper.java:372)
com.facebook.react.bridge.JavaModuleWrapper.invoke (JavaModuleWrapper.java:151)
com.facebook.react.bridge.queue.NativeRunnable.run (NativeRunnable.java)
android.os.Handler.handleCallback (Handler.java:873)
android.os.Handler.dispatchMessage (Handler.java:99)
com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage (MessageQueueThreadHandler.java:27)
android.os.Looper.loop (Looper.java:224)
com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run (MessageQueueThreadImpl.java:226)
java.lang.Thread.run (Thread.java:764)

rishabh876 avatar Aug 13 '20 15:08 rishabh876

Im facing issue in version 6.5.3 . Please give a solution .

Fatal Exception: java.lang.lllegalStateException
Can not perform this action after onSavelnstanceState
Fatal Exception: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
androidx.fragment.app.FragmentManager.checkStateLoss(FragmentManager.java:1844)
androidx.fragment.app.FragmentManager.enqueueAction(FragmentManager.java :1884)
androidx.fragment.app.BackStackRecord.commitInternal (BackStackRecord.java:329)
androidx.fragment.app.BackStackRecord.commit (BackStackRecord.java:294)
androidx.fragment.app.DialogFragment.show(DialogFragment .java :260)
com.reactcommunity.rndatetimepicker.RNDatePickerDialogModule$1.run(RNDatePickerDialogModule.java:152)
android.os.Handler.handleCallback (Handler.java:883)
android.os.Handler.dispatchMessage(Handler.java:100)
android.os.Looper .loop(Looper . java:237)
android. app.ActivityThread.main(ActivityThread. java:8107)
java.lang. reflect Method. invoke(Method. java)

AkshayNTechversant avatar Nov 09 '22 07:11 AkshayNTechversant

In my case, this error happened when attempting to call ReactDelegate's onHostResume from a view in an Activity that was no longer visible, e.g. in the Activity back stack. So when I called DateTimePickerAndroid.open it was attempting to open the dialog in Activity 1 instead of Activity 2.

Was able to fix this in my case by only calling ReactDelegate's onHostResume on the foreground Activity.

owjsub avatar Feb 03 '23 16:02 owjsub