xref: /aosp_15_r20/frameworks/base/packages/SystemUI/docs/kotlin-in-sysui.md (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1*d57664e9SAndroid Build Coastguard Worker# Kotlin in SystemUI
2*d57664e9SAndroid Build Coastguard Worker
3*d57664e9SAndroid Build Coastguard WorkerQueue "it's happening" gif.
4*d57664e9SAndroid Build Coastguard Worker
5*d57664e9SAndroid Build Coastguard WorkerKotlin is probably going to be a bit of a wild west for a while, but please
6*d57664e9SAndroid Build Coastguard Workertry to follow these guidelines as much as possible.
7*d57664e9SAndroid Build Coastguard Worker
8*d57664e9SAndroid Build Coastguard Worker - No semi-colons: they are optional, we probably don't want them in the
9*d57664e9SAndroid Build Coastguard Worker   future, so let's just not add them.
10*d57664e9SAndroid Build Coastguard Worker - No DSLs: sysui is complicated enough as is, let's not add more layers at
11*d57664e9SAndroid Build Coastguard Worker   the moment.
12*d57664e9SAndroid Build Coastguard Worker - Only use extension functions for keeping complex code locality: Don't use
13*d57664e9SAndroid Build Coastguard Worker   extension functions to add methods to android classes that you always wished
14*d57664e9SAndroid Build Coastguard Worker   were there, instead add them directly to the class and save us the extension.
15*d57664e9SAndroid Build Coastguard Worker - inline, reified, and de-compisition can all be great things: just make sure
16*d57664e9SAndroid Build Coastguard Worker   you know what they do and why you are using them.
17*d57664e9SAndroid Build Coastguard Worker
18*d57664e9SAndroid Build Coastguard Worker# Recommended reading
19*d57664e9SAndroid Build Coastguard Worker
20*d57664e9SAndroid Build Coastguard Worker - [Kotlin](https://kotlinlang.org/)
21*d57664e9SAndroid Build Coastguard Worker - [AndroidX-KTX](https://www.youtube.com/watch?v=st1XVfkDWqk)
22*d57664e9SAndroid Build Coastguard Worker - [Performance and Kotlin tricks](https://www.youtube.com/watch?v=6P20npkvcb8)
23