# Android Studio

This is the source code of the Android plugin for IntelliJ platform, which is also the main part of Android Studio.

See the links below for implementation details and make sure to read
[IntelliJ Platform SDK docs](http://www.jetbrains.org/intellij/sdk/docs/welcome.html) first.

## Contents:
* [Android light classes](android/docs/android-light-classes.md)
* [Assistant](assistant/src/com/android/tools/idea/assistant/README.md)
* [Color picker](android/src/com/android/tools/idea/ui/resourcechooser/colorpicker2/README.md)
* [Custom languages](android-lang/src/com/android/tools/idea/lang/README.md)
* [AndroidSql language support](android-lang/src/com/android/tools/idea/lang/androidSql/README.md)
* [DOM](android/src/org/jetbrains/android/dom/README.md)
* [Databinding](android-lang-databinding/README.md)
* [Disposable system](android/docs/disposables.md)
* [Kotlin light-classes](android/docs/kotlin-light-classes.md)
* [Layout editor placeholder](designer/src/com/android/tools/idea/common/scene/README.md.html)
* [Logging](android/docs/logging.md)
* [Notch](designer/src/com/android/tools/idea/uibuilder/scene/target/README.md.html)
* [Observables](observable/src/com/android/tools/idea/observable/README.md)
* [Progress system](android/docs/progress.md)
* [Property inspector](designer/src/com/android/tools/idea/common/property2/README.md.html)
* [Relative layout](designer/src/com/android/tools/idea/uibuilder/handlers/relative/targets/README.md.html)
* [Resources system](android/src/com/android/tools/idea/res/README.md)
* [Run configurations](android/src/com/android/tools/idea/run/README.md)
* [UI tests](android-uitests/README.md)
* [Undo and WriteCommandAction](android/docs/undo.md)
