Skip to content

Releases: ikarenkov/Modo

0.8.0 - Android support and animation bugfixes

31 Mar 10:01
19d44c7
Compare
Choose a tag to compare

Main changes

Android ViewModel and Lifecycle support!

We now have almost full support of Android ViewModel and Lifecycle, check out #35 for detailed diff! Changes:

  1. Introduced DisposableScreenEffect and LaunchedScreenEffect as an analogue of compose Effects, but linked with screen lifecycle.
  2. Fixed screen dependencies clear order, now it is FIFO.
  3. Upgraded androidxLifecycle to 2.7.0
  4. Fixed logic of clearing during the exit animation - now it clears on animation finish
  5. Supported Android ViewModelStoreOwner, LifecycleOwner.
  6. Added ModoDevOptions and assertion to prevent access to ScreenModelStore after screen was removed

Autogen: What's Changedx

  • stored codestyle in project by @ikarenkov in #27
  • check MODO_GRAPH for null by @trdelnk in #29
  • Screen lifecycle OnScreenRemoved callback by @ikarenkov in #28
  • Fixed Dialog state and wrong Composition Local providing by @ikarenkov in #30
  • Add sample for bottom sheet and changed dialog Api by @ikarenkov in #31
  • Update gradle, agp, uses varion catalog and build-logic by @ikarenkov in #34
  • First version of the android integration for the modo by @ikarenkov in #35

New Contributors

Full Changelog: v0.7.1...v0.8.0

0.7.1

28 Nov 17:16
Compare
Choose a tag to compare

🐞 Bug fix release

  • Fixes screen model clearing when screen removes from hierarchy #22. Thank @rcmkt for contribution!

0.7.0

25 Nov 15:17
4ae08ca
Compare
Choose a tag to compare

Modo 0.7.0 for Compose is available πŸŽ‰

🫣Breaking changes

πŸ“„ There is no support for Fragment anymore πŸ˜”

Fragments support would take lot of time and was a barrier for Compose development. Also there is no developer who can support modo-fragment. If you are interested in modo-fragment development write to the TG Chat

🧭 Modo compose

  1. New project artifact com.github.terrakok:modo-compose:${latest_version}"
  2. Api changes
    1. ContainerScreen and Screen - main classes to build your own navigation. There are several build in implementations of ContainerScreen like StackScreen and MultiScreen
    2. To integrate you screens structure to fragment you simply should use Modo Screen. Usually you just need StackScreen as root of your hierarchy.
    3. There is no Modo object for holding state anymore. State of Modo is just Container screen. Your are allowed to have as many RootScreens as you want simultaneously.
    4. ComposeRenderer has become internal.
  3. (Experimental) Dialog support! You can declare screen as dialog and simple put it in screens structure. There is know bug, when you pop back stack to dialog, then it loses it's state.
  4. Screen Model Support. You can use rememberScreenModel inside Composable fun to use screen model connected with Screen.
  5. ComposeRendererScope provides old and new state to let you create your own Wonderfull animations without limitations to stack state.

0.6.4

06 May 09:54
Compare
Choose a tag to compare

πŸ₯³ Modo supports Compose now!