Fixed
Status Update
Comments
il...@google.com <il...@google.com>
jb...@google.com <jb...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit 57ca221882695bd6a52549f4d9ea3b812e6fe87c
Author: Simon Schiller <simonschiller@users.noreply.github.com>
Date: Mon Mar 22 16:09:30 2021
[GH] [FragmentStrictMode] Detect <fragment> tag usage
## Proposed Changes
- Detect `<fragment>` tag usage inside XML layouts
## Testing
Test: See `FragmentStrictModeTest#detectFragmentTagUsage`
## Issues Fixed
Fixes: 153738235
This is an imported pull request fromhttps://github.com/androidx/androidx/pull/141 .
Resolves #141
Github-Pr-Head-Sha: 4ea052596e4341b9f11bcf335e2bc38045a91f19
GitOrigin-RevId: 62e7487aa4874eef6bb556490e193717cf937251
Change-Id: Iae48578e85e4e4897f806d7ade2e2a660adf9479
M fragment/fragment/api/public_plus_experimental_current.txt
M fragment/fragment/api/restricted_current.txt
M fragment/fragment/src/androidTest/java/androidx/fragment/app/strictmode/FragmentStrictModeTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentLayoutInflaterFactory.java
M fragment/fragment/src/main/java/androidx/fragment/app/strictmode/FragmentStrictMode.java
A fragment/fragment/src/main/java/androidx/fragment/app/strictmode/FragmentTagUsageViolation.java
https://android-review.googlesource.com/1649748
Branch: androidx-main
commit 57ca221882695bd6a52549f4d9ea3b812e6fe87c
Author: Simon Schiller <simonschiller@users.noreply.github.com>
Date: Mon Mar 22 16:09:30 2021
[GH] [FragmentStrictMode] Detect <fragment> tag usage
## Proposed Changes
- Detect `<fragment>` tag usage inside XML layouts
## Testing
Test: See `FragmentStrictModeTest#detectFragmentTagUsage`
## Issues Fixed
Fixes: 153738235
This is an imported pull request from
Resolves #141
Github-Pr-Head-Sha: 4ea052596e4341b9f11bcf335e2bc38045a91f19
GitOrigin-RevId: 62e7487aa4874eef6bb556490e193717cf937251
Change-Id: Iae48578e85e4e4897f806d7ade2e2a660adf9479
M fragment/fragment/api/public_plus_experimental_current.txt
M fragment/fragment/api/restricted_current.txt
M fragment/fragment/src/androidTest/java/androidx/fragment/app/strictmode/FragmentStrictModeTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentLayoutInflaterFactory.java
M fragment/fragment/src/main/java/androidx/fragment/app/strictmode/FragmentStrictMode.java
A fragment/fragment/src/main/java/androidx/fragment/app/strictmode/FragmentTagUsageViolation.java
ku...@gmail.com <ku...@gmail.com> #4
Is there a way we can pull in the fix from depending directly on some sort of nightly build, rather than reverting rc01?
il...@google.com <il...@google.com> #5
ra...@gmail.com <ra...@gmail.com> #6
Possible similar: in alpha06 all is ok but in rc01, rc02:
Fatal Exception: java.lang.IllegalStateException: no event up from DESTROYED
at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.java:263)
at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:307)
at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:148)
at androidx.lifecycle.LifecycleRegistry.setCurrentState(LifecycleRegistry.java:121)
at tv.stv.android.player.ui.home.programme.viewholders.EpisodesViewHolder.setAttached(EpisodesViewHolder.kt:37)
at tv.stv.android.player.ui.home.programme.adapters.EpisodesAdapter.onViewAttachedToWindow(EpisodesAdapter.kt:61)
at tv.stv.android.player.ui.home.programme.adapters.EpisodesAdapter.onViewAttachedToWindow(EpisodesAdapter.kt:15)
at androidx.recyclerview.widget.RecyclerView.dispatchChildAttached(RecyclerView.java:7556)
at androidx.recyclerview.widget.RecyclerView$5.addView(RecyclerView.java:860)
at androidx.recyclerview.widget.ChildHelper.addView(ChildHelper.java:107)
at androidx.recyclerview.widget.RecyclerView$LayoutManager.addViewInt(RecyclerView.java:8601)
at androidx.recyclerview.widget.RecyclerView$LayoutManager.addView(RecyclerView.java:8559)
at androidx.recyclerview.widget.RecyclerView$LayoutManager.addView(RecyclerView.java:8547)
at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1641)
at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1587)
at androidx.recyclerview.widget.LinearLayoutManager.scrollBy(LinearLayoutManager.java:1391)
at androidx.recyclerview.widget.LinearLayoutManager.scrollVerticallyBy(LinearLayoutManager.java:1128)
at androidx.recyclerview.widget.RecyclerView.scrollStep(RecyclerView.java:1841)
at androidx.recyclerview.widget.RecyclerView.scrollByInternal(RecyclerView.java:1940)
at androidx.recyclerview.widget.RecyclerView.onTouchEvent(RecyclerView.java:3391)
at android.view.View.dispatchTouchEvent(View.java:14376)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3247)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2925)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3253)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2941)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3253)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2941)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3253)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2941)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3253)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2941)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3253)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2941)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3253)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2941)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3253)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2941)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3253)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2941)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3253)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2941)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3253)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2941)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3253)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2941)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:723)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1922)
at android.app.Activity.dispatchTouchEvent(Activity.java:4077)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:681)
at android.view.View.dispatchPointerEvent(View.java:14644)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6398)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6185)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5623)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5676)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5642)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5798)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5650)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5855)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5623)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5676)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5642)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5650)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5623)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8728)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8635)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:8588)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:8864)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:194)
at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(InputEventReceiver.java)
at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:183)
at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:8804)
at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:8891)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:996)
at android.view.Choreographer.doCallbacks(Choreographer.java:794)
at android.view.Choreographer.doFrame(Choreographer.java:722)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:981)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:7762)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1047)
Fatal Exception: java.lang.IllegalStateException: no event up from DESTROYED
at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.java:263)
at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:307)
at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:148)
at androidx.lifecycle.LifecycleRegistry.setCurrentState(LifecycleRegistry.java:121)
at tv.stv.android.player.ui.home.programme.viewholders.EpisodesViewHolder.setAttached(EpisodesViewHolder.kt:37)
at tv.stv.android.player.ui.home.programme.adapters.EpisodesAdapter.onViewAttachedToWindow(EpisodesAdapter.kt:61)
at tv.stv.android.player.ui.home.programme.adapters.EpisodesAdapter.onViewAttachedToWindow(EpisodesAdapter.kt:15)
at androidx.recyclerview.widget.RecyclerView.dispatchChildAttached(RecyclerView.java:7556)
at androidx.recyclerview.widget.RecyclerView$5.addView(RecyclerView.java:860)
at androidx.recyclerview.widget.ChildHelper.addView(ChildHelper.java:107)
at androidx.recyclerview.widget.RecyclerView$LayoutManager.addViewInt(RecyclerView.java:8601)
at androidx.recyclerview.widget.RecyclerView$LayoutManager.addView(RecyclerView.java:8559)
at androidx.recyclerview.widget.RecyclerView$LayoutManager.addView(RecyclerView.java:8547)
at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1641)
at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1587)
at androidx.recyclerview.widget.LinearLayoutManager.scrollBy(LinearLayoutManager.java:1391)
at androidx.recyclerview.widget.LinearLayoutManager.scrollVerticallyBy(LinearLayoutManager.java:1128)
at androidx.recyclerview.widget.RecyclerView.scrollStep(RecyclerView.java:1841)
at androidx.recyclerview.widget.RecyclerView.scrollByInternal(RecyclerView.java:1940)
at androidx.recyclerview.widget.RecyclerView.onTouchEvent(RecyclerView.java:3391)
at android.view.View.dispatchTouchEvent(View.java:14376)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3247)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2925)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3253)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2941)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3253)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2941)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3253)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2941)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3253)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2941)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3253)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2941)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3253)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2941)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3253)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2941)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3253)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2941)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3253)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2941)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3253)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2941)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3253)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2941)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:723)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1922)
at android.app.Activity.dispatchTouchEvent(Activity.java:4077)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:681)
at android.view.View.dispatchPointerEvent(View.java:14644)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6398)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6185)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5623)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5676)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5642)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5798)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5650)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5855)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5623)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5676)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5642)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5650)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5623)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8728)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8635)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:8588)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:8864)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:194)
at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(InputEventReceiver.java)
at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:183)
at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:8804)
at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:8891)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:996)
at android.view.Choreographer.doCallbacks(Choreographer.java:794)
at android.view.Choreographer.doFrame(Choreographer.java:722)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:981)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:7762)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1047)
il...@google.com <il...@google.com> #7
Re #6 - that stack trace has nothing fragment related in it. Please
[Deleted User] <[Deleted User]> #8
Getting the same issue in androidx.fragment:fragment-ktx:1.2.5. Creating a new issue for this as well.
Fatal Exception: java.lang.IllegalStateException: no event down from INITIALIZED
at androidx.lifecycle.LifecycleRegistry.backwardPass(LifecycleRegistry.java:281)
at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:302)
at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:148)
at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:134)
at androidx.fragment.app.FragmentViewLifecycleOwner.handleLifecycleEvent(FragmentViewLifecycleOwner.java:62)
at androidx.fragment.app.Fragment.performDestroyView(Fragment.java:3182)
at androidx.fragment.app.FragmentStateManager.destroyFragmentView(FragmentStateManager.java:739)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:346)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2177)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2088)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1990)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3122)
at androidx.fragment.app.FragmentManager.dispatchViewCreated(FragmentManager.java:3049)
at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:2975)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:543)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:112)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1636)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3112)
at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3056)
at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:251)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:473)
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:246)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1426)
at android.app.Activity.performStart(Activity.java:7825)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3295)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2017)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7397)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935)
Fatal Exception: java.lang.IllegalStateException: no event down from INITIALIZED
at androidx.lifecycle.LifecycleRegistry.backwardPass(LifecycleRegistry.java:281)
at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:302)
at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:148)
at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:134)
at androidx.fragment.app.FragmentViewLifecycleOwner.handleLifecycleEvent(FragmentViewLifecycleOwner.java:62)
at androidx.fragment.app.Fragment.performDestroyView(Fragment.java:3182)
at androidx.fragment.app.FragmentStateManager.destroyFragmentView(FragmentStateManager.java:739)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:346)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2177)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2088)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1990)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3122)
at androidx.fragment.app.FragmentManager.dispatchViewCreated(FragmentManager.java:3049)
at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:2975)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:543)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:112)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1636)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3112)
at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3056)
at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:251)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:473)
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:246)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1426)
at android.app.Activity.performStart(Activity.java:7825)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3295)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2017)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7397)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935)
il...@google.com <il...@google.com> #9
Re #8 - you'll need to upgrade to Fragment 1.3.0-rc02 to fix that issue.
sa...@rebelfoods.com <sa...@rebelfoods.com> #10
Getting the same issue in androidx.fragment:fragment-ktx:1.3.1
Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo: java.lang.IllegalStateException: no event down from INITIALIZED
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3308)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3457)
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:2044)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7562)
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:950)
Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo: java.lang.IllegalStateException: no event down from INITIALIZED
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3308)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3457)
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:2044)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7562)
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:950)
sa...@rebelfoods.com <sa...@rebelfoods.com> #11
version:- androidx.fragment:fragment-ktx:1.3.1
Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.driverapp/com.driverapp.activity.HomeActivity}: java.lang.IllegalStateException: no event down from INITIALIZED
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3308)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3457)
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:2044)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7562)
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:950)
Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.driverapp/com.driverapp.activity.HomeActivity}: java.lang.IllegalStateException: no event down from INITIALIZED
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3308)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3457)
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:2044)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7562)
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:950)
jb...@google.com <jb...@google.com> #12
Re #10/11 - that stack trace has nothing fragment related in it. Please
Description
Component used: Fragment Version used: 1.3.0-rc01 Devices/Android versions reproduced on: No specific version
If this is a bug in the library, we would appreciate if you could attach:
With Fragment 1.3.0-rc01, doing a fragment transaction in
viewLifecycleOwner.lifecycleScope
in the onViewCreated crashes the application.Crash doesn't happen if transaction happen outside of
viewLifecycleOwner.lifecycleScope
or if we uselaunchWhenStarted
instead of launch.I used
NavigationBasicSample
application with updated fragment library version (1.3.0-rc01) and addedonViewCreated
method inTitleScreen
Added code to reproduce the crash.