Android Dev Summit 2021 Talks Summary or content outline

I captured all the content outlines available around 49 Talks which happened in 2 days of the Android Dev Summit with a time start. I hope this will be helpful to everyone and save time if someone doesn’t make sure if some talk is useful or not by reviewing the first outline and then deciding to watch all or skip.

Note: All headings are clickable will open the relevant talk to youtube.


Android Dev Summit Keynote:


Modern Android Development AskAndroid | Live:

  • If somebody interested in Android Development and has no idea what is Jetpack Compose or Jetpack in general what is your advice?
  • What is the best way to collect Android UI? (3:09)
  • How to debug Performance problem and what tools I use? (3:48)
  • When is the next Android Studio Coming out? (3:30)
  • Should I learn Motion Layout over Compose? (6:40)
  • What is prefer MVVM or MVI? (7:50)
  • Best way to communicate from update of data from repo to viewmodel? (8:45)
  • How to start with multimodule apps using hilt? (11:50)
  • Doest WorkManager replace Background Service? (12:30)
  • Are there any scenarios that need to be handled with livedata than flow?(15:12)
  • How can we reduce build times in Android Studio? (17:05)
  • Is there a smooth way to transition from legacy pre-Jetpack apps into modern awesome Jetpack? (19:01)
  • Does viewmodels and hilt/dagger have a place in compose world? (22:30)
  • Is there any bet on building multiplatform apps (iOS)? (23:31)
  • What is the best practice handle network exception or other exception using coroutine? (25:24)
  • How to automate the process of publishing an app on the Google Play Store?(26:17)
  • Is there a way unit test the Pager class using a RemoteMediator? (27:00)
  • What does Macrobenchmarking do? (28:12)
  • Does DataStore support encryption? (29:35)

Deep dive into Jetpack Compose Layouts:

  • Intro
  • Layout Model (1:11)
  • Layout composable (4:19)
  • Layout Example (7:08)
  • Modifiers (12:18)
  • Advanced features (17:27)
  • Performance (22:49)

A Compose state of mind: Using Jetpack Compose’s automatic state observation:

  • Jetsnack App (00:30)
  • Jetsnack’s cart item (1:46)
  • State changes need to be tracked by Compose (2:30)
  • Compose State API (2:55)
  • State tracked and remembered by Compose (3:51)
  • State created in composables need to be remembered (4:05)
  • rememberSaveable (4:30)
  • Property delegate (5:00)
  • Reusable CartItem (5:52)
  • State Hoisting (6:55)
  • Composable parameters: pass only what they need (9:13)
  • Stateful and stateless composable (10:00)
  • Managing state (10:26)
  • Types of state and logic (11:00)
  • JetsnackApp is not that simple (12:40)
  • ViewModels as source of truth (15:22)
  • Streams of data in Compose? (16:51)
  • ViewModels vs plain state holders (17:48)
  • ViewModels and State holders (19:00)

A deep dive into what’s new in Room 2.4.0:

  • “Out of the Box” Change (1:17)
  • Change Requiring User Input (1:56)
  • Manual Migration With User Input Example (2:48)
  • Auto Migration With User Input Example (3:52)
  • Providing the Spec to the Database (4:15)
  • Testing Auto Migration Test (5:11)
  • @Relation Recap (6:15)
  • Room Relations (6:27)
  • Room Multimap (7:08)
  • Multimap Combinations (7:35)
  • Supported Types (7:39)
  • Supported Operations (8:47)
  • Supported Return Types (8:56)
  • Enum Type Converters (9:24)
  • Quert Callback (9:40)

WorkManager: Back to the foreground:

  • Foundation APIs (0:43)
  • A library for managing deferrable background work. (2:49)
  • When to use WorkManager (4:10)
  • The recommended solution for persistent work (4:33)
  • Support for Cancellation (7:46)
  • Foreground Service Restrictions (8:53)
  • Multi-process support (11:43)
  • Running work in a different process (15:56)
  • WorkManager & Android Studio (17:46)

Implementing Material You using Jetpack Compose:

  • Intro (0:18)
  • Compose Material (0:46)
  • Compose Material 3 (0:57)
  • Jetchat App (1:25)
  • Material Theming (1:59)
  • Color Scheme (2:27)
  • Dynamic Color (5:46)
  • Typography (7:45)
  • Elevation (9:33)
  • Updated components (10:31)
  • Ripple & overscroll (12:24)
  • MDC – Android Compose Theme Adapter (12:58)

Material You: Applying dynamic color to your app and brand:

  • Intro (0:20)
  • Material You (0:50)
  • What is dynamic color? (1:02)
  • What to choose! (6:00)
  • Migrating to Material 3 (7:06)
  • Dynamic ColorScheme (8:50)

How to build Modern Android App Widgets in Android 12:

  • What will we talk about (0:20)
  • How do App Widgets work (1:11)
  • Rounded corners (3:20)
  • API for responsive layouts (5:46)
  • Sizing appuidget-provider (6:45)
  • Improved widget picker experience (7:42)
  • A better widget ecosystem (8:27)
  • What’s Glance? (9:48)
  • Creating a Glance AppWidget (10:27)
  • Handle user interaction Bye bye Pendingintents, Hello Actions (11:50)
  • Glance Size Mode Showcase (16:59)

New features in ML Kit: Text Recognition V2 & Pose Detection:

  • I skip this talk

Support the latest and greatest: Compatibility changes in Android 12:

  • Types of app compatibility changes (1:12)
  • App splash screens Migrate your app to the SplashScreen (2:20)
  • Custom notifications (3:39)
  • Immersive mode for gesture navigation (4:33)
  • Foreground service launch restrictions (5:15)
  • Expedited jobs Replacement for short foreground & background (6:06)
  • Notification trampolines (7:17)
  • App Links changes (8:35)
  • Compatibility framework tools Testing app compatibility (9:29)
  • Using Logcat and ADB command to toggle changes (10:28)
  • Android Studio and SDK tools (11:22)
  • Overscroll Effect Signal Private Messenger (14:00)
  • Overscroll Effect Developer tips (14:54)

Building great experiences for Novice Internet Users:

  • NIU are not just New Internet User (0:38)
  • Some things to keep in mind (3:05)
  • Account creation (4:04)
  • Language Options (6:39)
  • Voice usage (8:45)
  • Errors (10:37)

How to retain users with Android backup and restore:

  • Intro (0:10)
  • About Android Backup and Restore (5:32)
  • What if I already use cloud storage? (7:50)
  • Configure B&R of your app (8:35)
  • Summary (15:20)

Displaying ALL the emojis in your app (and why it matters):

  • Why emoji? (0:34)
  • modern emoji (3:35)
  • the details (5:24)
  • Testing Emoji (9:00)
  • how it works (10:05)

Best practices for making your app private by design:

  • Privacy principles (1:16)
  • Setting up permissions intent (5:56)
  • Request COARSE location permissions (8:55)
  • Bluetooth permissions (12:32)
  • Photo Picker Intent (15:45)
  • new storage permissions (17:04)

Reimagine animations system for a delightful development experience with Jetpack Compose:

  • Introduction to Compose Animations (0:20)
  • Toggling visibility (1:10)
  • Animating visibility (1:35)
  • Animated Content Animate between content changes (2:17)
  • Customize Enter / Exit Transitions (2:47)
  • animate AsStae Animate a single value (3:42)
  • Interruptible Animation (4:04)
  • animate AsStae with Animation Spec (4:51)
  • update Transitions – Advanced (6:19)
  • Animation Preview (6:54)
  • Detect inspectable animations (7:15)
  • Visualizing motion curves (7:44)
  • Coroutine-based Animations (9:18)
  • Sequential Animations (11:22)
  • Simultaneous Animations (11:53)
  • Coordinate Animations with suspend fun (12:39)
  • Sequence Sets of Animations (12:57)
  • Coroutine-base Animations (14:20)
  • Animations from Android Community (16:26)

Android Memory Safety Tools:

  • Fixing memory bugs (0:41)
  • HWASan tool (3:37)
  • GWP-ASan tool (4:38)
  • Run code and find bugs (5:41)
  • Fix bugs! (6:25)

The most interesting (and unexpected) submissions to the Android Security Bulletin:

  • Meet the Android Vulnerability Rewards Program (0:35)
  • What’s it’s worth? (4:07)
  • Meet the bugs (5:40)

Make your build faster and more robust with the latest Android Gradle plugin:

  • Outline (0:24)
  • KSP Kotlin Symbol Processing (0:36)
  • Lint Performance Improvements (2:02)
  • Lint Developer action items (2:57)
  • Configuration Cache (3:30)
  • Phases of Gradle build (3:45)
  • Build configurations (4:13)
  • Performance impact (4:25)
  • Accessing global objects (4:51)
  • Storing configuration cache (5:24)
  • Loading configuration cache (5:35)
  • Build analyzer (5:57)
  • Fixing custom Gradle task (6:42)
  • Configuration cache report (6:52)
  • Modify an AGP intermediate artifact (10:04)
  • Add a custom elements to AGP’s DSL (12:05)
  • Ongoing work gradle project os;oation (16:13)
  • Ongoing work Incremental Kotlin compilation (16:36)

What’s new in Android Studio:

  • Intro (0:0)
  • Recent Changes (0:45)
  • Android Studio Arctic Fox (1:00)
    • Design
    • Devices
    • Dev Productivity
  • Android Studio Bumblebee (2:04)
  • Chipmunk (2:56)
  • Support for non-transitive R classes (4:13)
  • Lint faster (4:59)
  • Profilers (6:23)
  • Graphical Editors (7:52)
  • Device Manager (9:41)
  • Testing Animation (10:16)
  • Device Classes (10:49)
  • Visual Linting (11:20)
  • Compose (13:04)
  • Live editing of literals (14:46)
  • Live Editing (16:35)
  • Light Mode (18:05)
  • Recap (20:52)

Kotlin Flows in practice:

  • Agenda (0:15)
  • Reactive (2:25)
  • Kotlin Flow (3:25)
  • Creating Flows (4:16)
  • Flow Builder (5:12)
  • Collecting Flows (6:25)
  • Observing Flows (8:00)
  • Flows in Android UI (9:20)
  • Flow.asLiveData (10:28)
  • Lifecycle.repeatOnLifecycle (10:54)
  • Lifecycle.flowWithLifecycle (12:18)
  • Lifecycle Configurations (15:25)
  • StateFlow (16:00)
  • Testing Flows (19:15)
  • Resources (20:20)

What’s new in Google Play:

  • Trust & safety (0:37)
  • Data safety section (0:53)
  • Introducing Play Integrity API (1:50)
  • App quality (3:06)
  • Reach and devices (4:58)
  • Monetization (5:27)
  • Play Billing Library (6:00)
    • In-app messaging
  • Games (8:12)
  • Play Academy (9:35)

Introducing Play Integrity API: Protect your apps and games:

  • SafetyNet Attestation API and Google Play Licensing (1:05)
  • Play Integrity API (1:49)
  • How does it work? (3:05)
  • Things to remember (4:31)

Streamlined game development that reaches more screens:

  • I skip this talk

What’s new for large screens and foldables in Android and ChromeOS:

  • Android 12L Large Screens (1:04)
  • Multi-tasking (1:40)
  • Split-screen (2:40)
  • System UI (3:04)
  • Compatibility modes (3:34)
  • Play store updates (4:19)
  • 12L / foldable emulator (4:58)
  • Jetpack Window Manager (6:04)
  • Window Metrics (6:40)
  • WindowSizeClasses (8:10)
  • Folding screens (8:50)
  • Tabletop (10:20)
  • WindowManager Resting (10:50)
  • Activity Embedding (12:14)
  • Side-by side activities (12:27)
  • Activity Stacks (13:34)
  • Screen Size Changes (14:30)
  • Placeholders (14:51)
  • Split Rules (15:29)
  • Testing on Emulator (17:03)
  • Rear Display Mode (17:35)
  • Chrome OS (18:04)
  • Picture-in-picture (18:36)
  • Low-latency stylus API (19:14)
  • Compatibility Mode (19:28)
  • Run in free-form mode (20:40)

Build Android UIs for any screen size:

  • Excellent apps across devices (0:04)
  • Build you app for the ecosystem increase your reach (1:21)
  • User engagement (1:54)
  • Build your app with adaptive UI (2:45)
  • Window Size Classes (3:25)
  • Reference Devices (6:21)
  • Material Design Guideline (8:08)
  • Designing beautiful apps on foldables and tablets (8:28)
  • Visual Linting (9:56)
  • Two Pane Sliding PaneLayout (14:11)
  • Resizeable Emulator (16:33)
  • Jetpack Compose (18:19)
  • Navigation UI (20:42)
  • Navigation (23:55)
  • Adaptive components (26:04)
  • Box With Constraints (26:40)
  • A deep dive into Jetpack Compose Layouts (27:34)
  • Folderable postures (27:52)
  • Testing (30:25)
  • Automated Test Devices (ATD) (32:00)

Enable great input support for all devices:

  • Input (0:26)
  • Keyboards (3:35)
  • Mouse / trackpad (6:31)
  • Hover / Pointer Icon (7:38)
  • Pinch / Gestures (8:14)
  • Pointer capture (8:27)
  • Stylus (9:16)
  • Microsoft Duo 2 Emulator (11:09)
  • Gamepads (12:50)
  • MIDI input (13:28)

Best practices for video apps on foldable devices:

  • Posture changes (1:19)
  • Zoom (4:15)
  • Video streams (6:23)
  • LumaTouch (10:06)
  • Recap (14:32)

Design beautiful apps on foldables and large screens:

  • Design Guideline (1:29)
  • Size classes (4:29)
  • Ergonomics and usability (5:24)
  • Canonical layouts (5:43)
  • Key Principles (6:45)
  • Single Navigation Graph (7:11)
  • Key considerations (12:36)
  • Detecting Folding Features (14:44)
  • Postures (15:03)
  • Test Folding States (16:13)
  • Gradle Managed Virtual Devices (16:51)
  • Multi Window (17:51)
  • Emulators (18:47)
  • Layout Validation (19:09)

From mobile to Wear OS: Learn how to create a Compose app for the wrist:

  • Compose for Wear OS (0:30)
  • Wear OS development (1:08)
  • Wear OS app architecture (1:55)
  • Dependencies (3:58)
  • Wear OS Material (5:17)
    • Button
    • Cards
    • Chips
    • Toggle Chips
    • Curved Text & TimeText
    • List
    • Scaffold in wear
    • Navigation
  • Review (21:56)

Create engagement and high quality playback on Android TV & Google TV:

  • I skip this talk

Bringing your apps to cars:

  • Car App Library (1:31)
  • App Categories (2:21)
  • Car App Architecture (2:59)
  • Code Structure (4:46)
  • Android Auto -build.gradle (5:34)
  • Automotive OS (5:41)
  • Create Car App Service (6:07)
  • Validate the Host (6:14)
  • Create Session (6:39)
  • Extend Session (6:44)
  • Create a Screen (7:21)
  • Request Permissions (8:11)
  • Android Auto – Android Manifest (9:26)
  • Automotive OS – Android Manifest application (11:07)
  • Navigation Intent from Voice Assistants (12:12)
  • Test using emulators (13:07)
  • Submit Your App to Playstore (13:49)
  • Resources (14:51)

What’s next for AndroidX Media and ExoPlayer:

  • Jetpack Media3 (0:25)
  • Libraries (2:38)
  • Foreground Playback (4:27)
  • Background playback (6:03)
  • ExoPlayer audio features (10:16)
  • Working with other apps (11:01)
  • Exposing your media session (11:46)
  • Exposing your content library (12:29)
  • Media3 Versioning (13:57)
  • Summary (16:29)

New features in CameraX 1.1, including video and more:

  • What is CameraX? (0:21)
  • When to use CameraX or Camera2 (0:52)
  • CameraX Overview (1:53)
  • 1.1 Adds Highly Requested Features (3:55)
  • Video Capture (4:08)
  • YUV to RGB Conversion (6:27)
  • Extensions (8:24)
  • Exposure Compensation (10:04)
  • Smooth Zoom (11:45)
  • Additional 1.1 Features (12:17)
  • Device Compatibility (13:32)
  • Resources (14:13)

Design to code: Turning handoffs into high-fives:

  • Figma (1:49)

Preparing your app for the new Data safety section in Google Play:

  • User Data Transparency (0:16)
  • Feature Overview (3:59)
  • Data safety section (4:55)
  • Shared vs collected (6:00)
  • No data collected (6:29)
  • Developer Experience (6:46)
  • Policy updates (7:41)
  • What is the Play Families Policy? (9:10)
  • More resources (10:05)

Jetpack Compose with Material You #AskAndroid | LIVE:

  • How do we design for pre-12 devices going forward? (1:35)
  • How easy it is to integrate jetpack compose into the existing application which uses view binding? (2:54)
  • A lot of cool support for making animation but any recommendations for designers and developers to align? (4:58)
  • What is the best way to debug recomposition? (7:43)
  • We rely on Motion Layouts a lot, and I was wondering if this will be available in Jetpack Compose or how can one migrate their motion layout? (12:34)
  • How do branding colors work with Material You? (13:58)
  • Should we have 1 Scaffold per screen or 1 single Scaffold outside of navigation? pros and cons? (17:06)
  • Can you talk about the new elevation updates in M3? (18:16)
  • Any API available for Screenshoot testing in Jetpack Compose? (21:04)
  • Will there be something like layout manager in Compose in near future? (22:22)
  • How can we support Keyboard with jetpack Compose? (23:13)
  • We use Kotlin files like Color.kt to define the theme in Compose, do we still need themes.xml? (24:28)
  • Along with the new Material3 library and new additional AS tooling, what other best practices can you share to Android devs to prepare their apps to use dynamic color with their brand’s theme for Android 12? (26:23)
  • What Material You styled components are available? (27:51)
  • Is there anything I should be aware of before trying to use Compose to make an Android TV app? (29:00)

Compose for Wear OS code-along:

  • Code lab (1:00)

Developing for large screens #AskAndroid | LIVE:

  • The large screen segment has existed in the industry for sometime now. What new opportunities do you see? What new use cases / products? (2:00)
  • What optimizations do developers need to consider for large screens? What should developers think of? (4:31)
  • What is the easiest way for me to optimize my application’s UI for all screen sizes? (9:07)
  • Should I use bottom navigation on a tablet or foldable? (11:37)
  • What are the differences between the 12L Tablet and Desktop device class/reference types? WHat bucket would detachable Chromebooks fall into? (15:20)
  • How can I handle foldable postures like tabletop mode? (18:33)
  • On devices like ChromeOS where the user can resize a window from compact all the way to expanded, is it jarring for the user to have the navigation switch from bottom to side rail? (21:52)
  • What are the tradoffs of using the new 12L Activity Embedding vs alternate ways of building larger screen apps? Is there a preferred architecture when starting from scratch? (24:25)
  • On ChromeOS when my window resizes, how do I make the components of my app move smoothly to the new dimensions? (26:20)

Jetpack Compose migration code-along:

  • Live Coding (1:31)

Jetpack Compose basics code-along:

  • Live Coding (1:15)

Top 3 things in Jetpack Compose & Material You!:

  • Top three things in 90 seconds (0:08)

Top 3 things in developing for large screens:

  • Top three things in 90 seconds (0:08)

Facebooktwitterredditpinterestlinkedinmailby feather

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.