October 23, 2019

All times are Pacific Standard Time (UTC-08:00).
Every session is available through Livestream during the event, and available after the event on the Android Developers YouTube Channel.

filter_list Filter:
Time Description _type _location _product
08:00-10:00

Registration and Breakfast

10:00-11:00

Keynote

Keynote

Dave Burke, Steph Cuthbertson

Event keynote featuring Dave Burke, VP of Engineering and Steph Cuthbertson, Senior Director of Product Management.

Keynote Main Stage
11:00-15:00

Sandbox

Sandbox: Demos and Office Hours - AM Topics

Meet and talk to the Android Team!

Stop by the 2nd floor for Q and A, demos, or just to chat. Topics and teams will change throughout the day, so plan your ADS agenda to get your most pressing questions answered. Special guests and speakers will be featured in the Speakers' Lounge throughout both days.

  • Android App Bundle and Dynamic Delivery
  • Android for Cars
  • Android Jetpack
  • Android Studio
  • Android Tablets and Foldables
  • Android TV
  • AndroidX Migration
  • Architecture Components
  • Biometrics
  • Bluetooth
  • Build Speed Clinic
  • CameraX
  • Android for Chrome OS
  • Companion Device Manager
  • Jetpack Compose
  • GSI
  • Kotlin
  • Play Academy
  • Privacy
  • Runtime Performance Clinic
  • Security
  • System UI, Notifications
  • Telephony
  • Treble and Mainline
  • WebView
  • Windows and Activities

Android for Cars

Android Studio and Tooling

Android TV

Google Play

Jetpack

Kotlin

Performance

Platform

Second Floor

Sandbox Office Hours Second Floor Android for Cars Android Studio and Tooling Android TV Google Play Jetpack Kotlin Performance Platform
11:00-11:20

Break

11:20-12:00

Session

What's New in Jetpack Compose

Adam Powell, Clara Bayarri, Romain Guy

Jetpack Compose was announced at Google I/O and the team has been hard at work ever since. This talk introduces Compose to new audiences, including what the project is and how it is taking shape. The talk also updates people who already know about Jetpack Compose, including how the project has evolved.

Jetpack

Main Stage

Session Main Stage Jetpack
11:20-12:00

Session

Android at Large: How to Bring Optimized Experiences to the Big Screen

Kenneth Ford, Pietro Maggi

With Android making its way to new form factors, and OEM’s pushing the boundaries with new technology, it’s time to take a look at what these environments bring to you and your users. It’s crucial that your developer workflow accounts for resizability, new display sizes and aspect ratios, multi display, and app continuity to provide your users the best experience no matter where they are. The days of taking the easy road with screenOrientation="portrait" are quickly coming to an end.

In this talk we discuss the challenges faced when looking to support Android on various platforms, and how to make sure that you’re providing a great experience on all of these form-factors. You will leave this talk with an actionable checklist that helps stabilize your app and user experience on any device.

Other

Second Stage

Session Second Stage Other
11:20-12:25

Codelab

Open Codelabs

Jetpack

Codelabs Room

Codelab Codelabs Room Jetpack
12:00-12:05

Break

12:05-12:25

Session

What’s new in Room

Florina Muntenescu, Daniel Santiago Rivera

Room offers type-safe, easy persistence without the boilerplate — but we didn’t stop there! In Room 2.2 we’ve added several highly requested features: better support for relationships, integration with Kotlin Flows, pre-packaged databases, partial entities, schema default values and faster build speed. In this talk, you’ll learn about these features and how using them in your app will enable more advanced functionality and require less code to write and maintain.

Jetpack

Main Stage

Session Main Stage Jetpack
12:05-12:25

Session

What's New with CameraX

Caren Chang, Meghan Mehta, Xi Zhang

Learn what is new with CameraX since its alpha launch at Google I/O this year, and learn from teams at Google that have been using CameraX in their apps.

Jetpack

Second Stage

Session Second Stage Jetpack
12:25-13:40

Lunch

13:40-14:20

Session

What's New in Android Studio

Tor Norbye, Jamal Eason

In this session, we provide updates and demos on new developments and features in Android Studio and how the tools can integrate into your app development workflow.

Android Studio and Tooling

Main Stage

Session Main Stage Android Studio and Tooling
13:40-14:20

Session

Android TV Session - TBD

Android TV

Google Play

Second Stage

Google Play Second Stage Android TV Google Play
13:40-14:45

Codelab

Jetpack Compose Codelab

Jetpack

Codelabs Room

Codelab Codelabs Room Jetpack
14:20-14:25

Break

14:25-14:45

Session

Going Edge-to-Edge with Gesture Navigation

Chris Banes, Rohan Shah

To aid developers with creating immersive experiences, Android 10 adds new system navigation models that allow apps to take over more of the user's screen.

This talk looks at how apps should work with the new gesture navigation, and ways to mitigate gesture conflicts. We also look at how to update apps to go edge to edge, drawing behind the system bars to create an immersive experience for users.

UI

Main Stage

Session Main Stage UI
14:25-14:45

Session

Coding in Style: Static Analysis with Custom Lint Rules

Alan Viverette, Rahul Ravikumar

Android Lint allows teams to automate the enforcement of best practices, reducing the amount of time spent on trivial code review feedback and improving overall code health. This talk teaches the basics of writing a custom Lint rule, including how to test and distribute custom Lint rules for your own team.

API Guidance

Second Stage

Session Second Stage API Guidance
14:45-14:50

Break

14:50-15:10

Session

LiveData with Coroutines and Flow

Jose Alcérreca, Yigit Boyar

LiveData is a simple lifecycle-aware observable, designed for making UIs that react to changes safely and efficiently. It can be used beyond View↔️ViewModel communications and even components like Room support it. However, there's a risk of overuse, especially when dealing with multiple threads. The solution? Instead of expanding its features, LiveData now works seamlessly with Kotlin's coroutines. In this talk, we cover the new "liveData" coroutine builder, showing when and how to use it and testing patterns and antipatterns to make clean, efficient, and solid reactive UIs.

Jetpack

Main Stage

Session Main Stage Jetpack
14:50-15:10

Session

Android Gradle Plugin Session - TBD

Android Studio and Tooling

Second Stage

Session Second Stage Android Studio and Tooling
14:50-15:35

Codelab

Open Codelabs

Jetpack

Codelabs Room

Codelab Codelabs Room Jetpack
15:00-19:00

Sandbox

Sandbox: Demos and Office Hours - PM Topics

Meet and talk to the Android Team!

Stop by the 2nd floor for Q and A, demos, or just to chat. Topics and teams will change throughout the day, so plan your ADS agenda to get your most pressing questions answered. Special guests and speakers will be featured in the Speakers' Lounge throughout both days.

  • 5G
  • Actions on Google
  • Android for Cars
  • Android Framework
  • Android Jetpack
  • Android Studio
  • Android Tablets and Foldables
  • Android TV
  • Animation
  • Architecture Components
  • Build Speed Clinic
  • CameraX
  • Android for Chrome OS
  • Jetpack Compose
  • Firebase
  • Games and Graphics
  • Identity and Autofill
  • In App Updates
  • Kotlin
  • Location and Content
  • Machine Learning on Android
  • Media and Audio in Android 10
  • NDK and C++
  • Play Academy
  • Privacy
  • Runtime Performance Clinic
  • Scoped Storage
  • Security

Android for Cars

Android Studio and Tooling

Android TV

Google Play

Jetpack

Kotlin

Performance

Platform

Second Floor

Sandbox Office Hours Second Floor Android for Cars Android Studio and Tooling Android TV Google Play Jetpack Kotlin Performance Platform
15:10-15:15

Break

15:15-15:35

Session

WorkManager: Beyond the Basics

Rahul Ravikumar, Sumir Kataria

Learn more about WorkManager, the Jetpack library for background processing. This talk introduces intermediate and advanced concepts to address common questions, gotchas, and issues you might see when you deploy to a large ecosystem of users and devices.

Jetpack

Main Stage

Session Main Stage Jetpack
15:15-15:35

Session

Fighting Regressions with Benchmarks in CI

Chris Craik, Dustin Lam

It is easy to forget about performance until users complain, but you can prevent a bad user experience by catching regressions in CI. In this talk, we explore why variance makes regression detection difficult, and strategies we use while writing Jetpack libraries. We will review the new Jetpack Benchmark library, and how to use it to measure hot code paths, from RecyclerView scrolling to database queries.

Performance

Second Stage

Session Second Stage Performance
15:35-16:05

Afternoon Tea Break

16:05-16:45

Session

What's New in Android Studio Design Tools

John Hoford, Paris Hsu, Oscar Adame Vázquez

This presentation discusses what's new in the Android Studio Design Tools, covering new tools and features introduced this past year. We take a deeper look at the new MotionEditor and MotionLayout library, including an overview of new features and principles, creation of animations using the editor, and tips and tricks.

Android Studio and Tooling

Main Stage

Session Main Stage Android Studio and Tooling
16:05-16:45

Session

ADB Live

Chet Haase, Tor Norbye, Romain Guy

Join us for a live recording of an ADB podcast episode, with hosts Tor, Chet, and Romain, plus the chance for live Q and A from the audience.

Android TV

Second Stage

Session Second Stage Android TV
16:05-17:10

Codelab

MotionLayout Codelab

Jetpack

Codelabs Room

Codelab Codelabs Room Jetpack
16:45-16:50

Break

16:50-17:10

Session

Migrating to AndroidX: The Time Is Right

Nick Anthony, Tiem Song

Let's take a deep dive into the reality of migrating to AndroidX! This talk provides the rationale to migrate soon, sets expectations appropriately, and recommends a process for executing the migration as smoothly as possible.

Jetpack

Main Stage

Session Main Stage Jetpack
16:50-17:10

Session

How to Build Media Apps for Cars

Madan Ankapura

With the new Android Automotive OS based infotainment systems that are built directly into cars, this talk focuses on how to build new apps or adapt existing apps to Android Automotive OS. It walks you through how to design, develop, publish, and distribute your media app.

Android for Cars

Second Stage

Session Second Stage Android for Cars
17:10-17:20

Break

17:20-17:40

Session

High Performance (Graphics) Programming

Romain Guy, Mathias Agopian

This talk details various techniques employed by the Filament rendering engine to deliver high performance on Android devices: CPU cache-friendly programming, multi-threaded job system to saturate cores, dynamic resolution, frame skipping, doing shader computations in half-floats, how to use small float formats for textures, writing SIMD and optimization-friendly C++ code, and more.

UI

Main Stage

Session Main Stage UI
17:20-17:40

Session

Google Play Billing: The “Purchase Anywhere” Paradigm Shift

Oscar Rodriguez

In the past few years, we have introduced new features into Google Play, that enable users to discover and purchase items and subscriptions in many new ways, from inside and outside the app.

Developers who have adopted these changes in their apps have seen improvements in user experience, and with it, substantial growth in revenue. However, integrating these features into an app or game requires a fundamental change in which you think about how purchases are made and consumed.

This session takes a deep dive into designing for Purchase Anywhere. We will talk about promotions, subscribe-and-install, cash purchases and pending transactions, and remote purchase approvals. All app and game developers using Google Play Billing are welcome to attend.

Google Play

Second Stage

Session Second Stage Google Play
17:20-18:25

Codelab

Room with a View Codelab

Jetpack

Codelabs Room

Codelab Codelabs Room Jetpack
17:40-17:45

Break

17:45-18:25

Fireside Chat

Android Fireside Chat

Hosted by Chet Haase

Learn from a panel of experts from the Android platform engineering team, where they will answer your questions - LIVE.

Android Studio and Tooling

API Guidance

Google Play

Jetpack

Kotlin

Performance

Platform

UI

Main Stage

Fireside Chat Main Stage Platform Android Studio and Tooling API Guidance Google Play Jetpack Kotlin Performance Platform UI
17:45-18:25

Session

Why Does Google Think My App Is Harmful?

Alec Guertin

Google Play Protect is constantly reviewing apps and warning users when we discover behavior that meets our MUwS (Mobile Unwanted Software) and PHA (Potentially Harmful App) policies. In this talk, we demystify this review process. We also share insights and examples of common pitfalls that cause "good" developers to run afoul of these policies.

Google Play

Second Stage

Session Second Stage Google Play
18:25-21:25

After Party