Ian Lake
banner
ianlake.bsky.social
Ian Lake
@ianlake.bsky.social
810 followers 140 following 270 posts
Android Toolkit Developer and Runner Also at: - https://androiddev.social/@ianlake - https://twitter.com/ianhlake
Posts Media Videos Starter Packs
There were a lot of other releases this week including Camera 1.6.0-alpha01 (new infrastructure, CameraPresenceListener), Media3 1.9.0-alpha01 (CompositionPlayer, media3-inspector), and PDF 1.0.0-alpha11 (custom selection menu items) and more.

Get the details:
developer.android.com/jetpack/andr...
Recent Release Notes  |  Android Developers
developer.android.com
Activity 1.12.0-beta01 is out with a behavior change on how system back is handled - the Lifecycle aware OnBackPressed APIs now enable/disable callbacks rather than register/unregister them, ensuring a more consistent ordering.

Let us know if you are impacted!
developer.android.com/jetpack/andr...
Activity  |  Jetpack  |  Android Developers
developer.android.com
DataStore 1.2.0-beta01 is out, bringing API stability to DataStore's support for Direct Boot mode and GuavaDataStore.

Note that this release also includes an important fix to DataStore's proguard rules if you aren't using the android-proguard-optimize.txt file!
developer.android.com/jetpack/andr...
DataStore  |  Jetpack  |  Android Developers
developer.android.com
Navigation3 reaches API stability this week with the 1.0.0-beta01 release! There's a few important bug fixes in this release as well, but this beta means we're only a few weeks away from rc01 and then stable!

If you run into any issues, please let us know ASAP
developer.android.com/jetpack/andr...
navigation3  |  Jetpack  |  Android Developers
developer.android.com
WorkManager 2.11.0 raises the minSdk from 21 to 23. That change meant that the team could remove 3,739 lines of code and the AlarmManager based scheduler used to support older versions of Android. Welcome to a leaner WorkManager!

developer.android.com/jetpack/andr...
WorkManager  |  Jetpack  |  Android Developers
developer.android.com
This week's #JetpackReleaseNotes include Work manager 2.11.0, Compose Material3 Adaptive 1.2.0, Graphics 1.1.0, bug fixes in Compose 1.9.4, Wear Compose 1.5.4, and Room 2.8.3 plus beta01 releases of Navigation3 (🎉), Lifecycle, Activity, DataStore, and Compose.
developer.android.com/jetpack/andr...
Recent Release Notes  |  Android Developers
developer.android.com
Are you talking about the import statements themselves? Because no one looks at those - in fact, many developers use 'star imports' which collapse them down to just one line for an entire package

If instead you mean, it is unclear what to import when looking at the list of suggestions, that's valid
There's a lot more building blocks in Compose vs canned pre-built components (although quite a few of the Material3 components are close to that).

Was there particular things you felt like had a lot of boiler plate?
Take a look at how we do metadata in NavDisplay, etc. - that title { } example is exactly the kind of type safe API you write for your specific use case.
But I think your example is putting information at the wrong level - titles shouldn't be a property on keys in your back stack at all. Scenes don't even have access to the key classes!

Instead, you should be looking at NavEntry metadata, which lets you write metadata = title { stringResource(..) }
The generics on your Scene need to match the generics on your NavDisplay, which I assume would be AppNav (although I'm not sure why you'd want an empty interface when NavKey already exists), so doing Scene<SubsettingNav> doesn't make much sense.
There were a lot of other releases this week including NavigationEvent 1.0.0-beta01 (API stability!), SavedState 1.4.0-beta01, and Ink 1.0.0-alpha07 so make sure to read through all of the release notes for the details!
developer.android.com/jetpack/andr...
Recent Release Notes  |  Android Developers
developer.android.com
Navigation3 1.0.0-alpha11 makes a significant number of API changes: onBack no longer takes a count, Scene's have their own metadata to allow their own defaults/overrides of the NavEntry metadata, plus changes to the Scene and Decorator APIs.
developer.android.com/jetpack/andr...
navigation3  |  Jetpack  |  Android Developers
developer.android.com
Compose Material3 Adaptive 1.3.0-alpha01 is out with improvements around edge-to-edge. This release is also the first main release to include the adaptive-navigation3 artifact (which previously only had separate 1.0.0 alpha releases).
developer.android.com/jetpack/andr...
Compose Material 3 Adaptive  |  Jetpack  |  Android Developers
developer.android.com
Compose 1.10.0-alpha05 is out with two very welcome changes:
- The Shared Element APIs are now stable! developer.android.com/jetpack/andr...
- PaddingValues now support addition and subtraction! developer.android.com/jetpack/andr...
Compose Animation  |  Jetpack  |  Android Developers
developer.android.com
Metrics 1.0.0 is now stable! Its JankStats APIs are all about measuring UI 'jank' and allowing you to add context to what is going on in your app, making it possible to correlate jank with specific problems areas in your app.
developer.android.com/jetpack/andr...
Metrics  |  Jetpack  |  Android Developers
developer.android.com
This week's #JetpackReleaseNotes include Metrics (aka 'JankStats') 1.0.0, Heifwriter 1.1.0, Health Connect 1.1.0, bug fixes in Camera 1.5.1, Compose 1.9.3, Room 2.8.2, and Wear Compose 1.5.3 plus lots of changes in Navigation3 1.0.0-alpha11.
developer.android.com/jetpack/andr...
Recent Release Notes  |  Android Developers
developer.android.com
That, along with synthetic back stacks and different handling whether you are on your own task stack or another apps' task stack (which is the only time when back and up differ), is going to be the next PR after this first one.
Reposted by Ian Lake
Would you like to work on Compose at Google (Mountain View CA office)?

Apply here and let's work together www.google.com/about/career...
Senior Software Engineer, Jetpack Compose — Google Careers
www.google.com
There are no Hilt specific APIs on that page.
You'll have to be more specific on what your setup is. Navigation2? With Fragments? With Compose?

The ViewModel Scoping API does cover how to scope ViewModels to Nav2 entries: developer.android.com/topic/librar...
ViewModel Scoping APIs  |  App architecture  |  Android Developers
ViewModel lets you manage your UI&#39;s data in a lifecycle-aware fashion.
developer.android.com
Thanks, that's really helpful. We'll take a look!
Did you file an issue on the issue tracker with a sample project that reproduces your issue? I can make sure it gets sent to the right people if you reply with a link to it here.
issuetracker.google.com/issues/new?c...
Sign in - Google Accounts
issuetracker.google.com