- Gradle 8.11.1
- JDK 21
After cloning the project, open it using Android Studio. The project should automatically sync through Gradle. If not, you can manually sync it using the Gradle Sync button on the IDE.
To run the tests, you can run the command:
./gradlew test -
Performance
- Utilizing stable collections (kotlinx.collections.immutable)
- Marking interfaces as @Stable
-
Obfuscation
- Specifying exclusion rules for ProGuard
-
Performance
- Compose performance must be tweaked in order to guarantee the mitigation of unnecessary recompositions which make the app slower
- Compose compiler don't "risk too much" trying to make objects stable, so we have to manually tell it when we guarantee the stability
- I've faced many performance issues with compose in past projects
-
Obfuscation
- Attempts to avoid unexpected behaviors due to obfuscation of important classes
Around 4 hours
I don't thing I had to make any trade-offs. However, if more time was available, I'd try to improve the UI.
Probably the UI design.