Chris Banes

Android Software Engineer with a love of writing user interfaces

Data Binding

Data Binding — Lessons Learnt

Some tips and gotchas which I found whilst using Android Data Binding
CI, caching

CI cache key over many files

How to generate a key to use for caching build dependencies and more on CI
Kotlin Coroutines, RxJava

RxJava to Kotlin coroutines

This post is a summary of how I refactored an app which uses RxJava pretty heavily, to one which uses Kotlin coroutines too. Specifically I’ll talk about switching out Single/Maybe/Completable sources to coroutines.
WindowInsets, Animations

Windows Insets + Fragment Transitions

A look at how to get fragment transitions working when using WindowInsets
Animations, Fragments

Fragment Transitions

Using transitions with fragments has a few gotchas, this blog post looks at how to get it all working.

Room + Date / Time

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.
Nested Scrolling, AppBarLayout, Animations

Carry on Scrolling

A look at how we added fling support to nested scrolling in Android, to AppBarLayout work in all scenarios.
Website, Jekyll, Firebase

Jekyll + Firebase Hosting

A look at how this site is built using Jekyll, and automatically deployed to Firebase Hosting.

Why isn’t my animation running?

Let me tell you a story about something I spent a fair amount of time debugging last year. I had totally forgot about it until the other day when someone mentioned something they were seeing with Snackbar, and it turned out to be the same thing.