# The legend about AIDL. Part 3. The crucial ingredient

DevFeed: [The legend about AIDL. Part 3. The crucial ingredient](<https://devfeed.tech/articles/the-legend-about-aidl-part-3-the-crucial-ingredient-26014.md>)

Original publisher: [Read original article](<https://unbreakable-titan.medium.com/the-legend-about-aidl-part-3-the-crucial-ingredient-71c5e8eea553?source=rss-e32583ce94d4------2>)

Author: Vladislav Puryev

Published: 2021-01-16T14:50:56Z

Content type: tutorial

Language: en

Sources: [Stories by Vladislav Puryev on Medium](<https://devfeed.tech/sources/stories-by-vladislav-puryev-on-medium.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [aosp](<https://devfeed.tech/tags/aosp.md>), [code](<https://devfeed.tech/tags/code.md>), [code-search](<https://devfeed.tech/tags/code-search.md>), [ide](<https://devfeed.tech/tags/ide.md>)

## AI overview

This third installment of a series examines how Android Interface Definition Language (AIDL) is used within Android system code. It traces calls involved in launching an Activity and follows the handling of Bundle and ActivityOptions objects, using shortened code examples from Android 10 sources.

## Source excerpt

Hello everybody. In the previous two parts you could read a lot of things about Android Interface Definition Language. About its origin, theoretical and practical basics, how these basics are implemented in Android system, how AIDL works and how developer can use it (as a result, quite simple) and some other things about Android and computer science. Well now, everything of this is pretty curious, but I would like to tell you about one more interesting thing. You are using AIDL much more, than you suppose. WARNING! This article contains a lot of code that will be provided in shortened form. Full versions you can find in your IDE, in AOSP or Android Code Search. Please be careful, cause most of further code can be changed any time by Google developers, that is why some material can be obsolete and partially or completely wrong in the future, but actual for the moment of publication. All code is retrieved from sources, which actual for Android 10. This series of articles consist of three parts: The legend about AIDL. Part 1. The roots The legend about AIDL. Part 2. In Action The legend about AIDL. Part 3. The crucial ingredient (you are here) The biggest one The statement above is quite brave, isn't it? Let's research the code and see that AIDL is more important, than any Android application component. The first opponent is Activity. Bigger, than Activity This is ridiculous, isn't it? How much times developers (and their users) are using Activity and how much times they need AIDL? It seems that crushing blow is directed to the hero of article. To prove this incredible fact it needs to look at the content of method, which allow to launch activity -- startActivity(). https://medium.com/media/0b4ea8396635cc920b6335a25c0aef13/href This method is calling another one startActivity(), passing null for parameter options. Depending on this value, second startActivity() calls startActivityForResult() with options or not. Let's dig deeper. https://medium.com/media/9855de0e0c3444e