Sign in

marcellogalhardo.dev

@marcellogalhardo.dev
0 followers 0 following 0 posts
PostsRepliesMedia
Reposted by Marcello Galhardo
John O'Reilly @johnoreilly.dev · 11/08/2026
Confetti (github.com/joreilly/Con...) now includes conference info for @droidcon.bsky.social Berlin 2026. Big shout out to @marcellogalhardo.dev who contributed ton of really nice UX updates recently (including use of @chrisbanes.me's very cool haze library - github.com/chrisbanes/h...)
1113
Marcello Galhardo @marcellogalhardo.dev · 07/07/2026
The video for our @kotlinconf.com 2026 session is now live! If you missed @ianlake.bsky.social and me in Munich, you can catch the full recording of "Peeling back the Layers: A Navigation3 Deep Dive" right here: youtu.be/6g2mjgljn7M #AndroidDev #Kotlin #KotlinConf
youtu.be
Peeling back the Layers: A Navigation3 Deep Dive | Marcello Galhardo and Ian Lake
YouTube video by Kotlin by JetBrains
1101
Reposted by Marcello Galhardo
Saurabh Arora @saurabharora.bsky.social · 17/05/2026
I did some experimenting with the new scoping APIs for ViewModel in the latest lifecycle update saurabharora.dev/posts/per-it... #AndroidDev #JetpackCompose
saurabharora.dev
Beyond the Screen: Component-Level ViewModels in Compose
Until Lifecycle 2.11, ViewModelStore scoping was tied to navigation destinations, activities, or fragments. There was no clean way to scope a ViewModel to an arbitrary part of your UI. The Lifecycle 2...
1142
Marcello Galhardo @marcellogalhardo.dev · 18/03/2026
Add FTS5 Support to Room: android-review.googlesource.com/c/platform/f...
010
Marcello Galhardo @marcellogalhardo.dev · 11/03/2026
Just published "Scoping ViewModels in Compose". marcellogalhardo.dev/posts/scopin... #AndroidDev #Kotlin #KMP #CMP
marcellogalhardo.dev
Scoping ViewModels in Compose
Lifecycle ViewModel 2.11.0-alpha02 introduces rememberViewModelStoreOwner, an API to scope ViewModelStore directly within the Compose hierarchy. Why It Matters Until now, ViewModelStore scoping was ti...
0245
Marcello Galhardo @marcellogalhardo.dev · 10/03/2026
@ianlake.bsky.social and I are speaking at @kotlinconf.com this year! We'll be peeling back the layers of Navigation3 - exploring the NavDisplay API, the decisions behind each overload, and the helper APIs that let you build custom navigation logic. See you there! #AndroidDev #Kotlin
0151
Reposted by Marcello Galhardo
Aurimas Liutikas @liutikas.net · 29/11/2025
In case you want to become a benevolent Gradle overlord, I've got you some tips Recording: youtu.be/o99f54pYGgc?... Slides: speakerdeck.com/aurimas/the-... #gradle
youtu.be
The Benevolent Gradle Overlord: Keeping Order - Aurimas Liutikas | droidcon London 2025
YouTube video by droidcon & fluttercon
12310
Reposted by Marcello Galhardo
Rahul Ravikumar @rahulrav.com · 24/11/2025
My talk: The Busy Android Developers Guide to Perfetto is now up on YouTube ! Root-causing problems is a lot of fun. Once you start you can't stop 😜 Happy Tracing !!
1174
Marcello Galhardo @marcellogalhardo.dev · 20/11/2025
we’re hiring on the app architecture team! if you’re interested or have questions about the work or the team, feel free to reach out. #AndroidDev
093
Reposted by Marcello Galhardo
Ian Lake @ianlake.bsky.social · 19/11/2025
Jetpack Navigation 3 is stable! 🎉🎉🎉 Leaning into Jetpack Compose and the idea of combining smaller building blocks together really helped make Nav3 a much more flexible library that made it a joy to work on and hopefully for you to use as well! android-developers.googleblog.com/2025/11/jetp...
android-developers.googleblog.com
Jetpack Navigation 3 is stable
News and insights on the Android platform, developer tools, and events.
36226
Reposted by Marcello Galhardo
Ian Lake @ianlake.bsky.social · 07/11/2025
In other Navigation news, Navigation3 hits its 1.0.0-rc01 this week, which means we're almost to the first stable release! This is the perfect time to test it out one more time and make sure everything is working for what you need! developer.android.com/jetpack/andr...
developer.android.com
navigation3  |  Jetpack  |  Android Developers
1132
Reposted by Marcello Galhardo
Ian Lake @ianlake.bsky.social · 07/11/2025
The first #JetpackReleaseNotes of November include SplashScreen 1.2.0, SavedState 1.4.0, Navigation 2.9.6, RC releases in Navigation3, NavigationEvent, Activity, and Lifecycle and Compose 1.10.0-beta02. developer.android.com/jetpack/andr...
developer.android.com
Recent Release Notes  |  Android Developers
2103
Reposted by Marcello Galhardo
Aurimas Liutikas @liutikas.net · 02/11/2025
I got a bunch of questions about it, so I wrote a post www.liutikas.net/2025/11/02/U...
liutikas.net
Unreasonable Configuration - What is a Normal Amount of Gradle Configuration Time?
It is very difficult to fix something if you don’t know what a normal behavior looks like. Through my conversations at DroidCon London this year I realized t...
0122
Marcello Galhardo @marcellogalhardo.dev · 01/11/2025
Just published "NavigationEvent Info". marcellogalhardo.dev/posts/naviga... #AndroidDev #Kotlin #KMP #CMP
marcellogalhardo.dev
NavigationEvent Info
NavigationEvent is a Kotlin Multiplatform library for handling system gestures - back and forward - on all platforms. It works on Android, iOS and Desktop with Web support coming next. Android used to...
0217
Reposted by Marcello Galhardo
Márton Braun @zsmb.co · 30/10/2025
The Android team has just released a brand new landing page for Kotlin Multiplatform, explaining the technology and showing how Google and JetBrains are support different parts of the ecosystem! developer.android.co...
0303
Reposted by Marcello Galhardo
Ian Lake @ianlake.bsky.social · 24/10/2025
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...
developer.android.com
navigation3  |  Jetpack  |  Android Developers
1162
Reposted by Marcello Galhardo
Ian Lake @ianlake.bsky.social · 24/10/2025
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...
developer.android.com
Recent Release Notes  |  Android Developers
1172
Reposted by Marcello Galhardo
Rahul Ravikumar @rahulrav.com · 22/10/2025
I made plot-benchmarks (a tool to view and compare AndroidX Benchmark Results) public. androidx.dev/benchmarks/p... Simply drag and drop the benchmark JSON to the page, and you can start plotting and comparing ! The souce code for the app is here: cs.android.com/androidx/pla...
androidx.dev
Plot Benchmarks
2264
Reposted by Marcello Galhardo
Aurimas Liutikas @liutikas.net · 15/10/2025
Awesome post from @f1xedgear.bsky.social and @autonomousapps.bsky.social about improving Gradle sync times in the IDE engineering.block.xyz/blog/shrinki... #gradle
engineering.block.xyz
Shrinking Elephants
Managing very large projects with Gradle and Intellij IDEA-based IDEs
0158
Reposted by Marcello Galhardo
Ian Lake @ianlake.bsky.social · 10/10/2025
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...
developer.android.com
Recent Release Notes  |  Android Developers
1133
Reposted by Marcello Galhardo
Aurimas Liutikas @liutikas.net · 10/10/2025
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...
google.com
Senior Software Engineer, Jetpack Compose — Google Careers
01713
Reposted by Marcello Galhardo
Aurimas Liutikas @liutikas.net · 06/10/2025
A quick write up of an investigation for a test failure with NoSuchFieldError www.liutikas.net/2025/10/06/N...
liutikas.net
NoSuchFieldError - JavaVersion does not have member field 'JavaVersion$Companion Companion'
AndroidX team strongly believes in shadow jobs to catch regressions early. Metalava tool that we use to track androidx APIs builds on top of Android Lint inf...
062
Marcello Galhardo @marcellogalhardo.dev · 05/10/2025
yeah. hm, that’s odd - it’s working fine for me. I’ll take a look.
220
Reposted by Marcello Galhardo
Aurimas Liutikas @liutikas.net · 30/09/2025
If you are using Gradle configuration cache you know that one of the most frustrating parts of the experience is unexpected CC misses. I wrote a post on how to minimize that! www.liutikas.net/2025/09/30/I... #gradle
liutikas.net
Input to Your Inputs - What Invalidates Gradle Configuration Cache?
By now you have hopefully adopted Gradle’s configuration cache (CC) feature, and it is giving you huge speed-ups by skipping configuration phase for quick it...
051
Marcello Galhardo @marcellogalhardo.dev · 29/09/2025
Been using this as my daily Bluesky client on Android, even in early access it's fantastic (and the animations are stunning). Props to @tunji.dev for the awesome work in @heron.tunji.dev!
181
Reposted by Marcello Galhardo
Ian Lake @ianlake.bsky.social · 26/09/2025
Navigation3 1.0.0-alpha10 improves rememberNavBackStack's KMP support, breaks Scene APIs into its own package, & we've broken two layers out of NavDisplay in rememberDecoratedNavEntries (for multiple back stacks) and rememberSceneState (for owning system back). developer.android.com/jetpack/andr...
developer.android.com
navigation3  |  Jetpack  |  Android Developers
341
Reposted by Marcello Galhardo
Ian Lake @ianlake.bsky.social · 26/09/2025
This week's #JetpackReleaseNotes includes Window 1.5.0, Compose Material3 1.4.0 plus bug fixes in Compose 1.9.2, Navigation 2.9.5, Room 2.8.1, Sqlite 2.6.1, Wear Compose 1.5.2, and WorkManager 2.10.5. developer.android.com/jetpack/andr...
developer.android.com
Recent Release Notes  |  Android Developers
1113
Reposted by Marcello Galhardo
Ian Lake @ianlake.bsky.social · 26/09/2025
NavigationEvent 1.0.0-alpha09 makes some pretty sweeping changes to the API surface. - Dispatcher now focuses on global state with the new history and transitionState properties - Handler has local state - Compose users get a NavigationEventState for hoisting developer.android.com/jetpack/andr...
developer.android.com
navigationevent  |  Jetpack  |  Android Developers
131
Reposted by Marcello Galhardo
Android Developers @androiddevs.bsky.social · 16/09/2025
Build smaller, faster Android apps with R8 → goo.gle/4m9s80K Our new docs cover everything from basics to advanced options, with guides and examples to help you write the right keep rules, shrink apps, and boost performance.
041
Marcello Galhardo @marcellogalhardo.dev · 16/09/2025
Just published "IDEA Vim". marcellogalhardo.dev/posts/idea-vim #AndroidDev #VIM #IDEA
marcellogalhardo.dev
IDEA Vim
I’ve been using the IDEA Vim plugin in Android Studio for a while. I only ever learned the basics with Practical Vim, but that’s been enough. The nice part is how the same muscle memory works everywhe...
041
Reposted by Marcello Galhardo
Kotlin by JetBrains @kotlinlang.org · 10/09/2025
📢 The Kotlin 2.2.20 release is out, bringing important changes for web development! Kotlin/Wasm is now Beta, with improved exception handling in JavaScript interop, npm dependency management, built-in browser debugging support, and a new shared source set for js and wasmJs targets. 🔗 kotl.in/2.2.20
kotl.in
Kotlin 2.2.20 Released | The Kotlin Blog
The Kotlin 2.2.20 release is out! This version delivers important changes for web development and other improvements. Learn more!
0339
Reposted by Marcello Galhardo
Ian Lake @ianlake.bsky.social · 11/09/2025
Today's #JetpackReleaseNotes includes Camera and Camera ViewFinder 1.5.0, Room 2.8.0, Hilt 1.3.0, plus bug fixes in Compose 1.9.1, Navigation 2.9.4, and Navigation3 1.0.0-alpha09. developer.android.com/jetpack/andr...
developer.android.com
Recent Release Notes  |  Android Developers
1174
Reposted by Marcello Galhardo
Aurimas Liutikas @liutikas.net · 05/09/2025
I've seen a number of folks working on Gradle plugins struggle with writing a plugin that builds on top of another Gradle plugin, so I wrote a short post that talks about some of the gotchas in that work. www.liutikas.net/2025/09/04/G... #gradle
liutikas.net
Gradle Tower of Babel - Building on Top Of Other Plugins
Gradle provides almost no guidance on how to build a Gradle plugin that builds on top of a different Gradle plugin. In this post I want to share a sliver of ...
0191
Marcello Galhardo @marcellogalhardo.dev · 02/09/2025
Love seeing this! Great example of what's possible with the NavigationEvent APIs. If you get a chance to try them out, we'd love to hear your thoughts on the APls. #AndroidDev #Kotlin
091
Reposted by Marcello Galhardo
Ian Lake @ianlake.bsky.social · 28/08/2025
With Compose Runtime 1.9.0, the gates were open for many of the -compose integrations across Architecture Components to support more platforms including JVM, Native, and Web support now available in Lifecycle 2.9.3, SavedState 1.3.2, Paging 3.4.0-alpha03, and Navigation3 Runtime 1.0.0-alpha08!
142
Reposted by Marcello Galhardo
Ian Lake @ianlake.bsky.social · 28/08/2025
Today's #JetpackReleaseNotes include Wear Compose 1.5.0 (the first stable release with Material 3 Expressive), more KMP targets in Lifecycle 2.9.3, SavedState 1.3.2, Paging 3.4.0-alpha03, and Navigation3 1.0.0-alpha08 plus the first Material3+Navigation3 alpha! developer.android.com/jetpack/andr...
developer.android.com
Recent Release Notes  |  Android Developers
1213
Reposted by Marcello Galhardo
Aurimas Liutikas @liutikas.net · 18/08/2025
I have capacity for maybe 1 casual mentee. If you are a junior dev in Android/Build/Tooling space and you are serious about wanting some advice/tips, reach out!
0183
Marcello Galhardo @marcellogalhardo.dev · 17/08/2025
My old Android take-home tests on GitHub are awful. I wouldn’t have hired me back then (glad someone did!). I was lucky to meet @walmyrcarvalho.com.br and Brazil's AndroidDevBR community, who gave their time and knowledge freely. We all start somewhere.
0212
Marcello Galhardo @marcellogalhardo.dev · 14/08/2025
🚀 One thing I’m really enjoying in these latest Compose releases: new Owner APIs for Compose! NavigationEventDispatcherOwner, LifecycleOwner, and SavedStateRegistryOwner (via SaveableStateHolder/Provider). It’s nice to have first-class tools to create and control Owners in any Compose subtree!
0120
Marcello Galhardo @marcellogalhardo.dev · 14/08/2025
🪄 Also new: NavigationEventDispatcherOwner creates a hierarchical dispatcher for a Compose subtree. Isolate back-gesture handling and control the whole tree via isEnabled — e.g., only the current page in a HorizontalPager handles back.
010
Marcello Galhardo @marcellogalhardo.dev · 14/08/2025
✅ Bonus: it works with your existing OnBackPressed APIs. Check out the examples in the release notes and let us know what you think!
120
Marcello Galhardo @marcellogalhardo.dev · 14/08/2025
💡 NavigationEvent's Passive Listeners API lets you pass custom context with NavigationEventInfo and observe predictive back gesture state and progress **anywhere** in your Compose UI - perfect for coordinated animations without the extra wiring.
170
Marcello Galhardo @marcellogalhardo.dev · 13/08/2025
💡 rememberSerializable (aka rememberSaveable + KotlinX Serialization) is now stable! 😉 Try it out and tell us what you think! cs.android.com/androidx/pla...
cs.android.com
Search and explore code
0100
Reposted by Marcello Galhardo
Ian Lake @ianlake.bsky.social · 13/08/2025
45 more library updates are part of today's #JetpackReleaseNotes including Compose 1.9.0 going stable, Core 1.17.0, bug fixes in Fragment 1.8.9 and Media3 1.7.1, Room 2.8.0-rc01, Hilt 1.3.0-beta01, the first Compose 1.10.0-alpha01, and minSdk 23! developer.android.com/jetpack/andr...
developer.android.com
Recent Release Notes  |  Android Developers
1225
Reposted by Marcello Galhardo
Ian Lake @ianlake.bsky.social · 31/07/2025
Just a note to fill feature requests for these type of things if you find yourself building them - I was shocked that no one had ever actually filed a feature request for this on the issue tracker. Maybe we're missing a whole bunch more of these kinds of helpers? Don't suffer in silence 😭
061
Reposted by Marcello Galhardo
Ian Lake @ianlake.bsky.social · 31/07/2025
Lifecycle 2.10.0-alpha01 is also out today with new Compose APIs to create nested Lifecycles (e.g., only allowing the current page in a HorizontalPager to be RESUMED) as well as CreationExtras improvements and nullable support for saved {} developer.android.com/jetpack/andr...
developer.android.com
Lifecycle  |  Jetpack  |  Android Developers
161
Reposted by Marcello Galhardo
Ian Lake @ianlake.bsky.social · 31/07/2025
Today's #JetpackReleaseNotes include Benchmark 1.4.0, Browser 1.9.0, Security Crypto's final deprecation in 1.1.0 stable, bug fixes in Navigation 2.9.3 and WorkManager 2.10.3, Compose 1.9.0-rc01, new alphas for Lifecycle+SavedState, plus a ton of XR updates! developer.android.com/jetpack/andr...
developer.android.com
Recent Release Notes  |  Android Developers
2162
Reposted by Marcello Galhardo
Aurimas Liutikas @liutikas.net · 29/07/2025
A recent discussion has led me to realize that many folks do not fully grok the parts of Gradle that can be made parallel. By default almost all of Gradle runs in a serial way. So I wrote a post about it www.liutikas.net/2025/07/29/P... #gradle
liutikas.net
Parallel Bits - Which Parts of Gradle Run in Parallel
By default, nearly the entire invocation of Gradle is done serially, but there are ways to make it partially parallel.
3266
Reposted by Marcello Galhardo
Aurimas Liutikas @liutikas.net · 24/07/2025
I wrote about new Gradle phases added by the configuration cache feature and how the cost of them can be minimized. www.liutikas.net/2025/07/24/N... #gradle
liutikas.net
New Phases - Gradle Configuration Store and Load
For a long time Gradle had three distinct build phases which in simplified terms were:
1164