Skip to Main Content
Talk Intermediate First Talk

Launcher3 Internals: Understanding Android's Home Screen, Google Feed Integration, and Custom -1 Panels

Proposal status is Approved
Session Description

Launcher3 is one of the most frequently used yet least understood applications in the Android ecosystem. Every interaction on an Android device eventually flows through it, unlocking the device, launching applications, accessing widgets, navigating recent tasks, searching for content, or interacting with personalized experiences such as Google Feed.

Over the last year, while maintaining and customizing Launcher3 across multiple Android releases, I repeatedly dived into parts of the launcher that are rarely documented and even less frequently discussed in public. It started from writing features and maintenance and swiftly became a deep exploration into Launcher3's architecture, integration, plugin overlays, feed provider, the mechanism that power the familiar -1 screen experience found on millions of Android devices.

Many Android developers work on Launcher3, but few get the opportunity to understand why it is structured the way it is. This talk aims to bridge that gap.

Launcher3 is not just an app that opens other apps. It is one of the central part of the Android experience, such as navigation, recents, search, widgets and personalisation. This session will cover its core architecture, workspace, states, and integration with SystemUI. We will also examine how OEMs and custom ROMs extend the same codebase to create different launcher experiences

A major focus of the session will be understanding the architecture behind the Google Feed (-1) screen. Through practical examples and analysis, we will explore how overlay provider plugin communicate with Launcher3, how overlay services are implemented, and what developers can learn when building their own custom launcher experiences.

Along the way, I will also share real-world lessons learned from maintaining Launcher3 customizations, debugging launcher issues across Android releases, and studying the components that make modern Android launchers feel seamless to users.

Whether you maintain a custom ROM, work on the Android platform, or are simply interested in how Android launchers work, this session will help you understand how Launcher3 is structured, how its major components interact, and how modern launcher features are implemented.

Key Takeaways

Key Takeaways:

  • Understand how Launcher3 evolved from a simple application launcher into a core component of the modern Android user experience.

  • Learn how Launcher3 interacts with SystemUI, Recents, Search, and many more platform services.

  • Explore the architecture behind Google Feed and the implementation of Android's -1 screen experience.

  • Understand launcher overlay plugins and other mechanisms used by libgooglefeed.

  • Learn practical techniques for customizing Launcher3 and implementing alternative feed experiences.

  • Gain insights for Launcher3 maintenance, debugging, and reverse-engineering efforts across Android releases.

  • Walk away with a mental model of Launcher3 that makes future customization and platform development significantly easier.

References

Session Categories

Contributing to FOSS
Technology architecture
Community

Which track are you applying for?

Android Open Source Project (AOSP)

Speakers

Saalim Quadri Software Engineer | 63SATS

I'm Mohammad Saalim, a Software Engineer at 63SATS and a community-driven open-source developer who somehow turned flashing custom ROMs and compiling Android as a teenager into a full-time career.

My journey into Android started more than six years ago with a simple curiosity: how does Android actually work beneath the UI? What began with custom ROMs, kernels, and device bring-up quickly grew into a deep interest in Android platform development. Since then, I've spent countless hours working across Android Frameworks, Launcher3, Chromium, Linux kernels, BSPs, and embedded Linux systems.

Professionally, I've worked on Android bring-up efforts, Android Framework development, Launcher3 maintenance, Chromium fork, Raspberry Pi Android ports, Linux kernel development, and embedded Linux distributions built using Yocto and Buildroot.

I'm also a Google Summer of Code contributor with The Linux Foundation, where I worked on integrating ROS SDK into Automotive Grade Linux through the meta-ros yocto layer.

Outside of work, I lead Team Stormbreaker, an open-source community focused on Android and Linux Kernel development. I enjoy reverse engineering Android components, exploring platform internals, mentoring newcomers entering the Android ecosystem, and sharing the lessons I've learned along the way.

If it runs Android or Linux, there's a good chance I've tried compiling, porting, modifying, or breaking it at least once.

Saalim Quadri
https://www.linkedin.com/in/saalim-quadri/