Jolanda Verhoef
@lojanda.bsky.social
640 followers 130 following 20 posts
Android Developer Relations @Google. Hasn't touched XML layouts in years.
Posts Media Videos Starter Packs
lojanda.bsky.social
Compose UI 1.9.0-alpha01 introduces custom bullets for annotated strings. The methods withBulletList and withBulletListItem let you set custom shapes and brushes, so the sky is the limit! What do you think about my cute todo-list bullets?

More info → android-review.googlesource.com#/q/I1d066d3d...
lojanda.bsky.social
What's holding you back from upgrading to 1.8 at this point?
lojanda.bsky.social
This resonated a lot, thank you so much for sharing 💚
lojanda.bsky.social
Why this approach? We're giving you the flexibility you need. Instead of a pre-built UI, you get robust, tested state logic. This ensures your custom controls are perfectly synced with playback. Reliability of Media3 + creative freedom of Compose = 🤩
lojanda.bsky.social
This release contains:

- PlayerSurface: Clean wrapper for Surface/Texture for easy video rendering.
- PresentationState: Smoother transitions between playlist items.
- Composable State Classes: Build your own UI controls! Play/Pause, Next/Prev, Shuffle, Repeat, and more to come!
lojanda.bsky.social
🚀 Big news for Android devs using Jetpack Compose! Media3 just dropped version 1.6.0, and it includes a brand new artifact: media3-ui-compose! Finally, seamless and customizable video playback directly in your Compose apps. 🎬 #AndroidDev #JetpackCompose #Media3
lojanda.bsky.social
Had to laugh out loud when I encountered this performHapticFeedback reference doc remark 🤣
Documentation for performHapticFeedback - first line says: "BZZTT!!1!". LOL
lojanda.bsky.social
Got you! Accidental clickbait haha 😆
lojanda.bsky.social
Combining CameraX and Jetpack Compose unlocks a lot of powerful and cool UI experiences. For example - you could burst some confetti whenever a user taps to focus!

Thanks to @dionsegijn.bsky.social who wrote the awesome Konfetti library 🎊

Read more ➡️ goo.gle/3BumTaP
Mobile device showing a video of a water bottle. Showing white circle and confetti for each tap to focus event.
lojanda.bsky.social
🚀 Did you know there's a new Compose artifact for working with CameraX?

Let me tell you all about it in a new blog post series "Unlocking the Power of CameraX in Jetpack Compose".

In part 1, I explain how to use the new artifact and show a camera preview in your app.

goo.gle/3ZOk9Nj
Getting Started with CameraX in Jetpack Compose
Part 1 — A guide to building a basic camera preview, covering setup, permissions, ViewModel creation, and UI implementation.
goo.gle
lojanda.bsky.social
I'll raise this to see if we can change the order here somehow. I know the pain :)
lojanda.bsky.social
Ahh that's cool! So let me try to understand; you registered your broadcast receiver in your manifest, launched a foreground service when it was called, and then in the foreground service you render Compose UI?
Did you encounter any strange effects while using Compose to draw on top of other apps?
lojanda.bsky.social
Did you write any code using Compose for that use case? In general broadcast receivers and foreground services are a very complex area, I'm coming in from the Compose side trying to understand where they overlap.
lojanda.bsky.social
Hey #AndroidDev folks! Is there anything related to Broadcast Receivers + Jetpack Compose + app architecture that confused you or that you thought was unclear from the docs when implementing them in your app?
lojanda.bsky.social
Followed up anyway and indeed Android Studio / Intellij doesn't use type information for auto-complete as it requires too much processing and would make auto-complete too slow. Using smart completion will do what you need.
Reposted by Jolanda Verhoef
riggaroo.dev
The latest #ComposeTip for Delightful UI has been released 🥳

In this episode, we play with a few of my favorite things: Graphics layers, BlendModes and ColorFilters 🥰

Check it out 👇
youtu.be/KawI7srRvOM?...
Graphics layers | Jetpack Compose Tips
YouTube video by Android Developers
youtu.be
lojanda.bsky.social
Can you give a specific example so I can raise this internally?
Reposted by Jolanda Verhoef
romainguy.dev
The Jetpack Compose team is hiring in London! If you'd like to join us, see the full job posting at goo.gle/4fdrpco
Software Engineer III, Android Toolkit, Jetpack Compose - London — Google Careers
goo.gle
lojanda.bsky.social
Ok, first post. *thinks of something interesting*

Honest question - why would one attach a broadcast receiver to an Activity context vs Application context? Docs say it's because it will be tied to the lifecycle, but then continue to say you NEED to unregister because otherwise it'll leak...