Android Screenshot Plugin and Kover Code Coverage

Having an official solution for Compose screenshots is great. Basically, you get something similar to Paparazzi—a wrapper around layoutlib. What I enjoy is the separate source set. But that comes with a small price: no code coverage. Of course, there is an open issue requesting this, but Kover seems to be in a kind of … Read more

Nav3: fix Lifecycle for overlaid nav keys

This is a post in a series on how I tackled Nav3 concepts and wired things together. Dialogs are modeled as an overlay scene; the destination behind the screen must remain rendered. Right now, its lifecycle stays resumed. That creates a number of practical challenges and problems: The last issue caught me off guard. dropUnlessResumed … Read more

Nav3: Draggable Sheet

This is a post in a series on how I tackled Nav3 concepts and wired things together. I needed a sheet that can be closed by dragging it down – it surprised me a bit that the implementation isn’t that difficult. It uses the overlay scene concept and a few basic helpers from the Compose … Read more

Nav3: ModalBottomSheet

This is a post in a series on how I tackled Nav3 concepts and wired things together. Edit: with 1.1.0-rc01 the impl in this blog post stopped working, or put another way, it wasn’t correctly observing the Lifecycle changes. Fixed now. There is no Nav3 bottom sheet implementation yet, so this is a quick post … Read more

Does Jetpack Navigation meet Type Safety?

You may have heard that Jetpack Navigation has a new API for type-safe navigation. This new official solution brings navigation with a “destination object” instead of simple manual URL building. Previously, I developed kiwicom/navigation-compose-typed library that did the same and was an inspiration for the official solution. The official solution makes navigation easier than before, … Read more