Smorg
12/22/2023, 5:07 PMDisposableEffect@Composable
fun ReusableDisposableEffect() {
  DisposableEffect(Unit) {
    println("Effect")
    
    onDispose {
      println("Disposed")
    }
  }
}
fun ScreenA() {
  ReusableDisposableEffect()
}
fun ScreenB() {
  ReusableDisposableEffect()
}
// action: navigate from ScreenA to ScreenB with navigation compose
// Expected prints:
- Effect
- Disposed
- Effect
// Actual prints:
- Effect
- Effect
- DisposedIan Lake
12/22/2023, 5:21 PMSmorg
12/22/2023, 5:48 PMDisposableEffect// Code snippet A: couldn't disable transition animation with this and as such could not verify transition as the cause of the issue
NavHost(
  enterTransition = { EnterTransition.None },
  exitTransition = { ExitTransition.None } 
)
// Code snippet B: disabled transition animation this way, but DisposableEffect issue remains
NavHost(
  enterTransition = { 
    fadeIn(
      initialAlpha = 1F,
      animationSpec = tween(durationMillis = 0, delayMillis = 0),
     )
  },
  exitTransition = { fadeOut(animationSpec = tween(durationMillis = 0, delayMillis = 0)) } 
)Smorg
12/22/2023, 7:13 PMEnterTransition.NoneExitTransition.NoneIan Lake
12/22/2023, 7:24 PMIan Lake
12/22/2023, 7:25 PMlifecycle-runtime-composeSmorg
12/22/2023, 9:41 PM