[ [ "Time", "Description", "_type", "_track", "_product" ], [ "
08:00-09:30
", "

Registration and Breakfast

", "", "", "" ], [ "
09:30-10:10

Session

", "

Is Your App Ready For Foldable Phones?

Andrii Kulian, Adrian Roos, Jisun Park

", "Session", "Theater 1", "Other" ], [ "
09:30-10:10

Session

", "

Trash Talk

Chet Haase, Romain Guy

With improvements in the ART runtime, developers should feel better about favoring good development patterns over memory-optimized-but-ugly-and-fragile techniques. But all of this is based on assumptions about the improvements of ART over Dalvik — what are the details? \n

This talk will examine some of the specific improvements that ART has made — over Dalvik and over time — and will demonstrate what these improvements mean for raw performance of garbage allocation and collection work.

", "Session", "Theater 2", "Platform" ], [ "
10:10-10:20
", "

Change over

", "", "", "" ], [ "
10:20-10:40

Session

", "

Cost of a Pixel Color

Chris Banes, Alan Viverette

Understanding the color choice of every pixel is important when optimizing power. This talk provides a primer on display considerations, describes why darker pixels save power, and what app developers can do to help users save battery life.

", "Session", "Theater 1", "Platform" ], [ "
10:20-10:40

Session

", "

Use Android Text Like a Pro

Siyamed Sinir

Text layout has high impact on almost every application's performance. This talk covers common usage patterns of text in Android apps and common pitfalls developers fall into that can be avoided, emphasizing performance issues and how to avoid them. We will also talk about how to improve text layout performance in your app using PrecomputedText and RecyclerView prefetch, and talk about best practices for editable text.

", "Session", "Theater 2", "Platform Jetpack" ], [ "
10:40-11:00

Session

", "

Files for Miles: Where to Store Them All?

Jeff Sharkey

Android offers many different locations and ways to store data, and we'll share best-practices for each of them, helping you build robust, secure, and flexible apps along the way.

", "Session", "Theater 2", "Platform" ], [ "
10:40-11:00

Session

", "

Improving Battery Life with Restrictions

Jingyu Shi, Amith Yamasani

In this talk, we go \"under the hood\" of Android to learn how it improves battery life by managing app behaviour across Doze, Adaptive Battery, Background Restrictions and Battery Saver.

", "Session", "Theater 1", "Platform" ], [ "
11:00-11:10
", "

Change over

", "", "", "" ], [ "
11:10-11:50

Session

", "

Deep Dive into the ART Runtime

Nicolas Geoffray, David Sehr

In this session, we'll talk about internals of the ART runtime, from compiler to garbage collector, and how we're focusing on improving Kotlin performance and application startup.

", "Session", "Theater 2", "Platform" ], [ "
11:10-11:50

Fireside Chat

", "

Android Fireside Chat

Chet Haase

Come ask your questions to some of the Android experts. Maybe we'll even know the answers!

", "Fireside Chat", "Theater 1", "Platform Jetpack Kotlin Android Studio Google Play Android Auto Wear OS Android TV" ], [ "
11:50-13:05
", "

Lunch

", "", "", "" ], [ "
13:05-13:45

Session

", "

Working with WorkManager

Rahul Ravikumar, Sumir Kataria

This session talks about WorkManager and its API. This talk covers how WorkManager can be used to solve many interesting use cases. We also go over many of the new APIs introduced since alpha, including support for non-blocking Workers and how WorkManager can coexist in a world with coroutines and RxJava.

", "Session", "Theater 1", "Jetpack" ], [ "
13:05-13:45

Session

", "

Android Emulator Deep Dive

Frank Yang, Yahan Zhou

This talk will share a deep dive on some recent features of the emulator, covering snapshots, graphics (OpenGL ES 3.x support), and ARCore support.Technical internals on emulator recent features including snapshot, graphics (openGL 3.x), and AR support. The talk will first provide background, then dive into the design and technical aspects and how each feature relates to one another.

", "Session", "Theater 2", "Android Studio" ], [ "
13:45-13:55
", "

Change over

", "", "", "" ], [ "
13:55-14:15

Session

", "

Best Practices for Themes and Styles

Alan Viverette, Nick Butcher

This talk focuses on how to work with designers to translate mocks into maintainable themes and styles for a high-quality Android app.

", "Session", "Theater 1", "Other" ], [ "
13:55-14:15

Session

", "

Vitals: Past, Present & Future

Fergus Hurley, Riccardo Govoni

How does Android Vitals measure quality and performance? How do we use this information to make judgements about apps? And, what can you, as a developer, do about it? In this session, we share the past, present & future of Android Vitals that every app and game developer should care about.

", "Session", "Theater 2", "Platform" ], [ "
14:15-14:35

Session

", "

Re-stitching Plaid with Kotlin

Florina Muntenescu

Many apps began adopting Kotlin and Android Architecture Components at the same time. While ostensibly quite different, the interplay of these two changes ends up heavily influencing each other.\n\nPlaid is an open source example of material design concepts. It has a complex functionality but had a large amount of technical debt. We took the challenge of refactoring the app, following the Android Guide to App Architecture, while simultaneously converting the app to Kotlin—while keeping the existing functionality, fixing broken API integrations and adding new ones.\n\nThis talk covers the lessons learned while converting Plaid to Kotlin and integrating Architecture Components.

", "Session", "Theater 2", "Jetpack Kotlin Material Design" ], [ "
14:15-14:35

Session

", "

Preferential Practices for Preferences

Louis Pullen-Freilich

What’s new with Preferences?\nThis session guides you through some of the new and powerful features in the AndroidX Preference library and some of the best practices to follow when using Preferences.\nYou also learn how to migrate your existing application away from the framework library for a consistent user experience across all devices.

", "Session", "Theater 1", "Jetpack" ], [ "
14:35-14:45
", "

Change Over

", "", "", "" ], [ "
14:45-15:25

Session

", "

The Components of Material Design

Cameron Ketcham, Gautham Sajith

Material Theming launched this year at Google I/O, enabling you to systematically customize Material Design to better reflect your product’s brand. But how do you implement these customizations in your apps? What components and patterns are available? How do you extend them?\n\nThe Material Design Components library from Google offers a range of ready-to-use components which understand the Material Theming parameters. Come learn about the material theme attributes, the range of components available, and how they were built from the team that built them. We’ll also showcase some advanced usage such as shape transformation, how to deeply customize material components, and how to implement your own custom views which understand material theming.

", "Session", "Theater 1", "Material Design" ], [ "
14:45-15:25

Session

", "

Getting the Most from the New Multi-Camera API

Emilie Roberts, Oscar Wahltinez, Vinit Modi

This talk helps camera developers build apps that harness Android P's multi-camera API. We will show live demos and a code walkthrough on two devices that demonstrate advanced camera topics like bokeh effects and optical zoom.

", "Session", "Theater 2", "Platform" ], [ "
15:35-15:55
", "

Afternoon Tea Break

", "", "", "" ], [ "
15:55-16:35

Session

", "

Single Activity: Why, When, and How

Ian Lake

With the Navigation Architecture Component, developers have the tools to move towards a single activity structure for their app, but they don't know:\n

", "Session", "Theater 1", "Jetpack" ], [ "
15:55-16:35

Session

", "

Deep Dive into Android Studio Profilers

David Herman, Shukang Zhou

In this session, we'll do a deep dive to teach developers how to use Android Profilers to optimize the performance of their app. We'll go through demos and examples that highlight the various features of the CPU, memory, and network profilers in-depth.

", "Session", "Theater 2", "Android Studio" ], [ "
16:35-16:45
", "

Change over

", "", "", "" ], [ "
16:45-17:25

Session

", "

Get Animated

Doris Liu, Nick Butcher, John Hoford, Nicolas Roard

Android offers a range of animation systems—from ObjectAnimator, to window animations, transitions, physics based animations and now MotionLayout, which is a new class available in the ConstraintLayout 2.0 library that can manage motion and widget animation in applications.\n\nThis talk provides an exhaustive overview of the various systems, showing how and when to use each one, and how to make them play together nicely. Knowing the difference between the systems will help you to quickly and confidently use the right system to achieve any animation in your app.

", "Session", "Theater 1", "Platform Jetpack" ], [ "
16:45-17:25

Session

", "

Testing Android Apps at Scale with Nitrogen

Stephan Linzner, Vishal Sethia

Writing tests is a fundamental part of developing Android applications. Recent improvements to Androids testing APIs make it straightforward to write tests, yet it is incredibly hard to run tests at scale. In this session we give an overview of project Nitrogen, the new Android test harness, which helps developers to scale their testing with support for test setup, execution, device management and reporting.

", "Session", "Theater 2", "Other" ] ]