God views, highly coupled classes, untested activities... the Fragment lifecycle!!;I've been working in Android since 2008 and lately, as the platform matures, the apps codebase is getting bigger. In these big codebases there is legacy code all over the place. Working on that environment is hell, without applying the right strategies to refactor this smelly code. ;First you will learn the design principles, patterns and how to apply them on Android and the payoff.;Second, you will learn how you could apply these to legacy code. Testing will play a huge role in this second part.;The talk will be really pragmatic. The idea is to show a pattern and how to apply it to a real piece of code. ;The knowledge of principles and patterns and how to apply them on Android, will show the benefit on them.;Having a strong test suite is key for refactoring and improving your code. Testing takes a key role it gives you the ability to make changes faster without breaking existing features.