Nick RoseQuick tip for Context disambiguationYour app might have a Context instance bound to your dependency injection graph, provided to other classes like so:1 min read·Jan 28, 2024----
Nick RoseReducing feature flag tech debtA straightforward way to use a feature flag in a codebase is with an if/else statement, like so:4 min read·Jun 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…3 min read·Dec 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…5 min read·Jul 23, 2021--3--3
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…3 min read·Feb 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…2 min read·Feb 11, 2021--2--2
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…4 min read·Jan 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…2 min read·Dec 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…4 min read·May 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…3 min read·Mar 28, 2020--1--1