Recently, I have to work on a feature with 2 different looking UIs for different configurations, but otherwise have the exact same behaviour. This meant using different view types and setting them up differently, but they end up rendering the same state and calling the same callbacks.
Injecting dependencies is most useful when done through the constructor, but due to the limitiations of the Android framework, we are not able to do this for framework classes such as Activities and Fragments. This is because they can be recreated by the system, and the system will always use the empty, no-argument constructor to create instances of these classes.
Starting this blog to document my journey as a software engineer, share my learnings, and hopefully be able to contribute back to the community.