Components used: Fragment v1.8.2, Navigation v2.7.7
Devices/Android versions reproduced on: Android 14 and 15
The attached sample project works fine including the predictive back gesture animations on drawer closing and cross-fragment. However, it crashes when selecting an item from the drawer menu after a cross-fragment back gesture animation is canceled.
java.lang.IllegalArgumentException: saveBackStack("ebcca18f-eabb-424e-97b3-63de5fc97b85") must be self contained and not reference fragments from non-saved FragmentTransactions. Found reference to fragment FragmentOne{f7891b} (005b0355-e5f5-48d6-9ea8-df260bf6f4f4 id=0x7f080136 tag=1e300225-9207-4967-9e10-11f7bbd1ba65) in BackStackEntry{1ecf460 #4 ebcca18f-eabb-424e-97b3-63de5fc97b85} that were previously added to the FragmentManager through a separate FragmentTransaction. at androidx.fragment.app.FragmentManager.saveBackStackState(FragmentManager.java:2450) at androidx.fragment.app.FragmentManager$SaveBackStackState.generateOps(FragmentManager.java:3776) at androidx.fragment.app.FragmentManager.generateOpsForPendingActions(FragmentManager.java:2332) at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1999) at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:702)
Description
Devices/Android versions reproduced on: Android 14 and 15
The attached sample project works fine including the predictive back gesture animations on drawer closing and cross-fragment. However, it crashes when selecting an item from the drawer menu after a cross-fragment back gesture animation is canceled.
java.lang.IllegalArgumentException: saveBackStack("ebcca18f-eabb-424e-97b3-63de5fc97b85") must be self contained and not reference fragments from non-saved FragmentTransactions. Found reference to fragment FragmentOne{f7891b} (005b0355-e5f5-48d6-9ea8-df260bf6f4f4 id=0x7f080136 tag=1e300225-9207-4967-9e10-11f7bbd1ba65) in BackStackEntry{1ecf460 #4 ebcca18f-eabb-424e-97b3-63de5fc97b85} that were previously added to the FragmentManager through a separate FragmentTransaction.
at androidx.fragment.app.FragmentManager.saveBackStackState(FragmentManager.java:2450)
at androidx.fragment.app.FragmentManager$SaveBackStackState.generateOps(FragmentManager.java:3776)
at androidx.fragment.app.FragmentManager.generateOpsForPendingActions(FragmentManager.java:2332)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1999)
at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:702)