u2020
A sample Android app which showcases advanced usage of Dagger among other open source libraries.
U+2020 is a sample Android application created to demonstrate a particular approach to organizing and wiring together the different pieces of an app. It was built alongside a conference talk about Dagger, a tool that handles dependency injection in Android projects. Dependency injection is a pattern where components of an app receive the objects they need from an external source rather than creating those objects themselves.
The app has two build variants: a release version and a debug version. The debug version adds a hidden panel called the Debug Drawer, opened by swiping from the right edge of the screen. From this drawer, developers can change settings like which server the app talks to, toggle fake data mode, and inspect how the app is behaving at runtime.
One of the more useful debug features is a mode called Mock Mode. When active, the app stops making real network requests and instead responds with fake data stored in memory. This makes manual testing easier and gives automated tests a predictable, stable data set to work against.
The project uses a collection of open-source libraries that were popular in the Android ecosystem at the time: Retrofit for network calls, Picasso for image loading, RxJava for managing asynchronous events, OkHttp as the HTTP client, Moshi for JSON parsing, and several others by the same author (ButterKnife, Timber, Scalpel, LeakCanary). The repo is intended as a reference and learning resource, not as a production-ready application template. It is licensed under the Apache 2.0 license.