Now in Android #110

Chris Assigbe
Android Developers
Published in
11 min read6 days ago

--

Welcome to episode 110 of Now in Android: your ongoing guide to what’s new and notable in the world of Android development.

In this episode, we’ll cover Android 15 is released in AOSP, RCS support on iOS, Pixel Hardware Event, the latest #AndroidShow, Android Studio Koala feature drop, Compose Adaptive layout library, Desktop Windowing on Android Tablets, inspirational stories from #WeArePlay series and lots of stable AndroidX releases.

Most of the content of this post is available in the form of a video or podcast, so feel free to watch or listen rather than read on. (Or do all three to help you remember! There won’t be a quiz.)

Android 15 is in AOSP 💥

In early September, Android 15 was released into the Android Open Source Project (AOSP). Support for Pixel devices as well as select devices from Samsung, Honor, iQOO, Lenovo, Motorola, Nothing, OnePlus, Oppo, realme, Sharp, Sony, Tecno, vivo, and Xiaomi has rolled out and will continue for the coming months.

Android 15 comes with privacy and security enhancements such as Private space and passkeys amongst others. It also adds camera and media improvements in addition to improving the developer experience via productivity enhancements in Android Studio, Jetpack Compose, and Jetpack libraries.

A new era for texting 🥳

Texting between Android and Apple devices is getting a whole lot better. With Apple’s adoption of Rich Chat Service (RCS) comes text message reaction, high resolution pictures and videos, adding and removing people from group chats, and more.

Android Developers blog 📝

Pixel Hardware Event 📲

At our ninth Made By Google event on August 13th, we announced new AI experiences across Gemini and Android, along with our largest lineup of Pixel devices ever — including the Pixel 9 family, our first phones with Gemini baked in as our next-generation assistant. Plus, with Gemini Live, you can now have free-flowing voice conversations with Gemini on your phone.

“We believe that AI can make day-to-day life more productive, open up new ways to learn, and create ways for people to express themselves,” says Platforms & Devices SVP Rick Osterloh. “We’re excited to bring the best of Google AI to more people and more phones with updates across Gemini, Android, and Pixel.”

On the hardware front, we introduced the Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, and the Pixel 9 Pro Fold. We also unveiled the Pixel Watch 3 — available in two sizes — and the snug-fitting and AI-powered Pixel Buds Pro 2.

Android Studio Koala Feature Drop 🐨

The latest Android Studio Koala Feature Drop has cutting-edge features like new devices in Android Device streaming (including the Pixel 9 series & new Samsung devices), Compose previews for Glance widgets, USB cable speed detection, support for Android 15 in the Android SDK Upgrade Assistant, UI debugging enhancements and profiler tools to improve app start-up time.

#WeArePlay

In the latest #WeArePlay episode, Google Play showcases and celebrates Robson from Rio de Janeiro, Brazil. He co-founded Estante Mágica, which is an app that inspire kids to become published authors

Robson, who grew up himself in a favela, wants to make a lasting impact on the education system by giving kids the opportunity to nurture literacy and write books.

Google Maps adopts User Initiated Data Transfer 🗺️

In Android 14, we introduced User Initiate Data Transfer that addresses gaps found in foreground services and WorkManager for long duration user initiated data transfers. The new setUserInitiated API in JobScheduler aims to be an alternative to retries and constraints.

In fact, Google Maps adapted it, and saw a 10%+ improvement in download failure rate for offline downloads.

“We successfully launched UIDT on Android 14 in early 2024 migrating from our foreground service implementation. After a retroactive analysis on Android 14 vs Android 13 implementation, we now see a 10%+ improvement in download failure rate of offline downloads!” — Matthew Valgenti, Software Engineer at Google

Introducing Spotlight Weeks ✨

We are introducing a new series called Spotlight Week designed to help developers learn a specific topic during a week. The week will include technical deep dive videos, new documentation, and developer stories.

On the first episode of the series, Ash covers Android 15’s edge-to-edge, foreground services, and passkeys.

Spotlight Week also brought you a whole host of Android AI news, technical deep dives and so on. You got to learn about generative AI, Gemini Nano, how to bring your own model to Android, Cloud models, among many others.

Edge-to-edge inset tips 📏

Ash wrote an in-depth Medium blog post covering inset handling tips in order for developers to prepare for Android 15’s edge-to-edge enforcement.’

It discusses what insets are and why they are important to user experience. It also details tips for handling insets, for both Compose and Views. Some of the tips it mentions are to use material components, draw backgrounds edge-to-edge, and inset critical UI. It emphasizes that insets should be handled to ensure critical UI elements remain accessible.

Edge-to-edgeTesting 📏

Given Android 15’s enforcement of edge-to-edge, testing is now more important than ever for developers. Meghan covers the topic with a blog post that provides information on automated testing strategies. Some of the important points are that edge-to-edge UI will be enforced starting in Android 15 and that Compose Previews can help achieve a seamless edge-to-edge layout. Compose Preview has a number of new features for testing edge-to-edge, including improvements to showSystemUI, the ability to test specific devices, and support for different types of cutouts.

Talkback adopts Gemini Nano 🦜

In another Spotlight Week episode, Terence showcased Talkback, Android’s screen reader in the Accessibility suite.

The talkback team recently updated their feature that describe images when developers don’t include descriptive alt text to use Gemini Nano with multimodality vs s previous small ML model called Garcon.

Gemini Nano has given Talkback capabilities beyond basic image descriptions. For example, when Garcon is presented with a panorama of the Sydney, Australia shoreline at night, it might read: “Full moon over the ocean.” Gemini Nano with multimodality can paint a richer picture, with a description like: “A panoramic view of Sydney Opera House and the Sydney Harbour Bridge from the north shore of Sydney, New South Wales, Australia.”

Type safe navigation for Compose 🧭

Jetpack Navigation 2.8.0 is the latest stable version to be released in September. Don wrote a comprehensive article covering type safe navigation introduced in this version and how to use it. The article covers how navigation now allows you to define your destinations using serializable types and benefit from compile-time safety. It is simpler and safer to define your navigation destinations and arguments. The article also provides some tips on testing navigation use cases.

Compose TV stable release 📺

Compose TV is also now stable with its 1.0.0 release in August. The changes going from alpha to stable release include the renaming of some APIs such as from TvLazyColumn to LazyColumn, some API modifications, and the removal of other APIs that were redundant or had better alternatives.

Paul wrote a guide to help developers migrate from alpha to stable smoothly.

One Credential Manager to rule them all 💍

Out with the old: Android used to rely on things like “Smart Lock” and “Google Sign-In” to help users sign into apps. These are now being replaced.

In with the new: Credential Manager is the new, unified way to handle sign-ins on Android. It supports the latest technology like passkeys (a more secure alternative to passwords), along with the familiar “Sign in with Google” and traditional passwords.

Why the change? Credential Manager aims to make signing into apps easier and more secure for users. It also simplifies things for developers, giving them one system to work with.

Diego Zavala and Jason Lucibello wrote the announcement on Android Developer Blog that also provides resources for developers for migration.

The article also highlights how companies like X (formerly Twitter) and Pinterest have already made the switch to Credential Manager with positive results.

Adaptive layouts building made easy 📂

Back at I/O 2024 in May, we announced the beta release of Compose Adaptive APIs to help developers build adaptive layouts more easily and efficiently. Its stable version has now been released with Material guidance for production use.

Alex wrote a blog to cover the announcement, and to discuss the various APIs and their use cases. In short, you can now create layouts that adapt seamlessly to different screen sizes and device postures without custom breakpoint handlers.

Desktop windowing goodness 🖥️

Francesco and Fahd announced the preview for desktop windowing on Android tablet. The feature will allow apps to run in resizable windows just like you would do on desktops.

Call to action for developers: The article urges developers to optimize their apps for this new windowing environment.

Android Developers Backstage🎙️

The episode 209 of Android Developers Backstage features Doris Liu from the Jetpack Compose team discussing Compose’s animation APIs. They delve into the layered structure of these APIs, highlighting the benefits over traditional View system animation approaches.

Listen to it in podcast or youtube format.

Videos💡

The summer edition of #TheAndroidShow recaps all the hardware and software announcements made at the latest Made By Google event

Rebecca and Simona share with you tips how to make delightful UI covering topics like how to set up edge-to-edge and inset, working with nested scrolling to create Dynamic UI, pager tricks to tie into the gestures to painting with different gradient brushes and complex graphic shaders, and much more.

Overview of the new features and improvements in the latest release of Android Studio, version 20241 by Sandhya.

Rebecca explores the use of shaders for enhanced graphics rendering in Android apps using Jetpack Compose.

#WeArePlay tells the story of Estante Mágica, a mobile app that helps children become authors of their own books. Robson, the creator of the app, shares his personal journey and the inspiration behind the project.

Ash introduces “Spotlight Weeks,” a new series focused on helping developers deep-dive into specific Android topics. The first Spotlight Week focuses on Android 15.

Daniel and Ash recap and expand on their Google I/O 2024 talks with a focus on new Android 15 features and developer considerations for building future-proof apps.

A panel of Google Engineers answers questions collected from social media using the #AskAndroid tag and live chat during the session focused on Android 15.

Aditya and Laura, lead Android developer and UX designer respectively at SAP share the story of how the company optimized their “SAP Mobile Start” app for large screens and foldables using Jetpack Compose Adaptive layouts in 5 minutes.

Clara introduces new type-safe APIs for Jetpack Compose Navigation, starting with version 2.8.0. Clara explains how these APIs improve compile-time safety and reduce code complexity when defining navigation destinations and arguments in your Kotlin DSL

Rebecca provides a comprehensive guide to using flow layouts in Jetpack Compose for building flexible and responsive UIs.

AndroidX Releases 🚀

We had numerous updates to AndroidX libraries that include the following:

Wear Compose 1.4.0 adds default rotary input support for ScalingLazyColumn and Picker, introduces a new Modifier.rotaryScrollable for connecting rotary events, and includes entry animation for SwipeDismissableNavHost and default PositionIndicator display.

Health Connect 1.0.0-alpha01 release enables read and write access to user health and fitness data, with testing support through the jetpack library.

Compose UI 1.7.0 introduces significant enhancements like shared element transitions for smoother animations, Lazy list animations for enhanced visual appeal, and text formatting improvements, along with the Compose compiler being hosted in the Kotlin repository. More details on this blog written by Ben Trengrove.

Compose Runtime 1.7.0 enhances composition locals with computed defaults, optimizes state object accessibility and composable function generation, and improves lambda invalidation and callback ordering.

Compose Material 3 Adaptive 1.0.0 provides tools and components to build adaptive Android UIs for different screen sizes and devices.

Compose Material 1.7.0 stabilizes BottomDrawer, ModalBottomSheet, and BackdropScaffold components, migrates to new ripple APIs, and improves performance by optimizing MutableInteractionSource usage.

Compose Foundation 1.7.0 significantly boosts performance in key modifiers, introduces a new Indication API for efficiency, refines clickable components, and adds new features for text, layout, and animations.

Compose Animation 1.7.0 introduces new shared element transition APIs for smoother animations, improves existing APIs with features like custom content alignment and deferred target animation, and stabilizes several APIs including AnimatedVisibilityScope and LookaheadScope.

Collection 1.4.3 enhances performance, particularly for ScatterMap and ScatterSet, and addresses a data corruption bug in those collections.

Camera 1.5.0-alpha01 introduces new APIs for dual camera video capture configuration and audio control in recordings, along with bug fixes for crashes and black screen issues.

Media3 1.4.1 addresses various issues, including handling preload callbacks asynchronously, allowing playback even with loading failures, fixing errors in MP3 and TTML handling, resolving DRM issues on API 31+ devices, and improving media control and session management.

Now then… 👋

That’s it for this week with Android 15 in AOSP, the Made By Google event, RCS support in iOS, inspirational stories from #WeArePlay series, the latest #AndroidShow, Android Studio Koala, and lots of stable and alpha AndroidX releases.

Check back soon for your next update from the Android developer universe! 💫

--

--