Skip to main content


CI cache key over many files
·487 words·3 mins
Here’s a quick tip for those of you using CircleCI, GitHub Actions, or any other CI which supports caching.
RxJava to Kotlin coroutines
·1640 words·8 mins
OK, I know this is a bit of a clickbait-y title but it’s the best I could come up with.
Windows Insets + Fragment Transitions
·869 words·5 mins
This post is the second in a small series I’m writing about fragment transitions.
Fragment Transitions
·802 words·4 mins
This is the first post in a small post series where I explore how to get transitions working nicely with fragments.
Room + Date / Time
·1393 words·7 mins
If you’ve started using Room (and you should if you haven’t), there’s a high probability that you will need to store + retrieve some kind of date/time.
Carry on Scrolling
·1117 words·6 mins
If you’ve used the Material Design Components library (formerly known as the design support library), and specifically its scrolling components such as AppBarLayout, you probably noticed that flinging can sometimes stop quite abruptly.
Jekyll + Firebase Hosting
·1396 words·7 mins
This site is built with Jekyll and was hosted on GitHub Pages until recently, with all of the commit-to-deploy goodness that it gives you for free.
Why isn’t my animation running?
·229 words·2 mins
Note: this post is quite old now. As you can see below this isn’t an issue from Android 7.
DayNight — Adding a dark theme to your app
·826 words·4 mins
This post has been updated multiple time since first publishing. The content is correct as-of March 13th 2019.
AppCompat v23.2 — Age of the vectors
·699 words·4 mins
As you may have seen on the Support Lib 23.2.0 blog post, we now have compatible vector drawable implementations in the support libraries: VectorDrawableCompat and Animated VectorDrawableCompat.