Releases: ikarenkov/Modo
Releases Β· ikarenkov/Modo
0.8.0 - Android support and animation bugfixes
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:
- Introduced DisposableScreenEffect and LaunchedScreenEffect as an analogue of compose Effects, but linked with screen lifecycle.
- Fixed screen dependencies clear order, now it is FIFO.
- Upgraded androidxLifecycle to 2.7.0
- Fixed logic of clearing during the exit animation - now it clears on animation finish
- Supported Android ViewModelStoreOwner, LifecycleOwner.
- 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
0.7.0
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
- New project artifact
com.github.terrakok:modo-compose:${latest_version}"
- Api changes
ContainerScreen
andScreen
- main classes to build your own navigation. There are several build in implementations ofContainerScreen
likeStackScreen
andMultiScreen
- To integrate you screens structure to fragment you simply should use Modo Screen. Usually you just need
StackScreen
as root of your hierarchy. - 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. ComposeRenderer
has become internal.
- (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.
- Screen Model Support. You can use
rememberScreenModel
inside Composable fun to use screen model connected with Screen. ComposeRendererScope
provides old and new state to let you create your own Wonderfull animations without limitations to stack state.