12:30 PM | Networking | |
1:15 PM | Dealing With KSP in Common Code for Android and iOS by Anna Zharkova | SP (Kotlin Symbol Processor) is an API from Google for writing Kotlin compiler plugins. Using KSP we can write annotation processors to reduce boilerplate and solve cross-cutting concerns. Also KSP is more effective than KAPT. Among the advantages of using it is the support of Kotlin Multiplatform. In my talk I would like to present several cases (such as Dependency Injection, e.g) of using KSP in Kotlin Multiplatform for both Android and iOS. |
2:15 PM | Uncoiling the COIL - Understanding Modern Image Loading on Android by Sagar Viradiya | Image loading is hard but luckily this problem has already been addressed on Android. There are many libraries out there that handle image loading seamlessly. COIL is the new kid to the club and you may be wondering why do we need another image loading library? |
3:15 PM | Understanding WindowInsets by Subrajyoti Sen | Most of us would have heard of WindowInsets lately but never really understood what they are or why we need them. Have you had to write complex code just to get the height of the keyboard or use a combination of flags (that were confusing) to get a desired status bar appearance. The WindowInsets APIs provide convenient ways to handle these scenarios. |
4:30 PM | Everything is an API by Ash Davies | Just because we might not be exposing a module as a public or open-sourced library, doesn't mean we can't benefit from making good decisions towards an effective and sensible API. By taking the stance that every piece of code we write is an API we can build more versatile and scalable applications. |
5:30 PM | Simplified Single-Activity Apps Using Simple-Stack by Gabor Varadi | Single-Activity apps have been the officially recommended way to structure Android applications since 2018. However, whether they're simpler to write and maintain compared to multi-Activity apps (or even "Activity per screen" approaches) is still sometimes up for debate.
This talk focuses on the single-activity-focused navigation framework Simple-Stack, which has been in development since 2017. |
7:15 PM | The Road to Mobile DevOps for Android by Moataz Nabil | Mobile DevOps is a practice of bringing the different disciplines involved in developing, testing, releasing, and operating software into being functional inside organizations or by a team that works closely together. The team is able to continuously deliver their apps based on continuous feedback and iteration. Different practices, habits, and flavors of adopted company cultures set the behavior for an actual process and daily doing. |
8:15 PM | Sorting and Reporting Your Dependencies with Gradle by Ed George | All apps have dependencies, but what is the best way to manage and keep on top of them? This session takes a look at some simple steps, tools, and tricks to use Gradle to help us make dependency management far easier.
Starting with simple Gradle language features, we will also explore how to handle dependencies within more complex projects, dive into some useful Gradle plugins, and finally look into what the future of dependency management within Android may be. |
10:00 PM | The New Jetpack Register for Activity Result API by Madona Syombua | Android docs now recommend using this new registerForActivityResult API in favor of the old one, onActivityResult, we can dive deep into how this new API has made part of development seamless. Also, one can define a custom contract so that the consuming app can get results as a sealed class rather than as an intent. |
10:45 PM | Arrow of Outrageous Error Handling by David Rawson | Arrow (https://arrow-kt.io/) is a functional programming library for Kotlin that has been featured in the ThoughtWorks Tech Radar. This talk will explore some error handling techniques from functional programming that will make your Android apps more robust. We will cover Either and Validated from the Arrow library with examples in a real Android codebase. |
11:45 PM | Kotlin State & Shared Flows in Action by Mohit Sarveiya | State Flows and Shared Flows were introduced to broadcast events to multiple consumers with coroutines. We’ll dive deep into the Shared & State Flow APIs. A Shared Flow provides you with the ability to replay and cache events. How do you handle back pressure? We’ll look into simple-to-use cases for using Shared Flows. |
12:30 AM | Networking | |