Nick RoseQuick tip for Context disambiguationYour app might have a Context instance bound to your dependency injection graph, provided to other classes like so:Jan 28Jan 28
Nick RoseReducing feature flag tech debtA straightforward way to use a feature flag in a codebase is with an if/else statement, like so:Jun 25, 2022Jun 25, 2022
Nick RoseExoPlayer playlist diffingThe ExoPlayer MediaItem APIs are great for modifying a playlist. You can add, remove, and move MediaItems around a playlist as you see fit…Dec 19, 2021Dec 19, 2021
Nick RoseLevel-up your custom ViewsI was recently tasked with writing a piece of UI that depended on asynchronous streams of data, had to be usable in a RecyclerView, and had…Jul 23, 20213Jul 23, 20213
Nick RoseType-safe Fragment-Activity communicationI’d mentioned in a previous article of mine that multi-module navigation can be facilitated by constructor-injected Fragments. This…Feb 23, 2021Feb 23, 2021
Nick RoseKeeping WebView state across configuration changesSince API 1 developers have been asking the question of how to retain WebView state across configuration changes. Answers (that actually…Feb 11, 20212Feb 11, 20212
Nick RoseSimple in-app text resizingIf using your Android app means reading a lot of text, it’s not a bad idea to include an custom in-app text resizing feature. You might…Jan 27, 2021Jan 27, 2021
Nick RoseMulti-module navigation with Dagger2Adding another article on a topic that’s been written about ad nauseam? Yes! But this time without a host of problems that others have…Dec 27, 2020Dec 27, 2020
Nick RoseLifecycleScope: suspension vs. cancellationThe LifecycleScope APIs allow you to launch coroutines tied to a Lifecycle and have them be cleaned up when that Lifecycle is destroyed…May 23, 2020May 23, 2020
Nick RoseUpdating unique periodic work with WorkManagerLet’s say in your app you’ve enqueued unique period work and everything’s working as you’d expect in production. Your code that achieved…Mar 28, 20201Mar 28, 20201