blog

Opinions expressed here are my own, not those of my company.

You Don't Need to Null Out Views

There’s been a long standing footgun when using fragments on Android because the fragment may live longer than it’s views. Solutions to this have ranged from ignoring the problem to some complicated rxjava setup. However, with the additions to AndroidX this is no longer necessary! The trick is to scope all view interactions to onViewCreated(). class MyFragment : Fragment(R.layout.my_fragment) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { val binding = MyBinding....

March 2, 2020 · Evan Tatarka

Some More Biometric Messes

This is a follow-up to The Mess that is Android Biometrics, as we found even more wonderful surprises. So the androidx biometric compat lib is out and stable. And it (mostly) blacklists Samsung devices so they are forced to use fingerprint. We can plop it in and all our woes are gone right? Sigh, I guess you can see where this is going. I wouldn’t be writing another blog post otherwise....

January 29, 2020 · Evan Tatarka

The Mess that is Android Biometrics

Oh FingerprintManager is deprecated? It’s replaced with this new thing BiometricPrompt that comes with it’s own UI and supports a wider range of biometrics? There’s even an androidx library that does the compatibility work for you? This will be easy! HAHAHAHHAHHAHA This is the story of all the pain I’ve run into with implementing BiometricPrompt so you don’t have to. If you just want a recommendation for today, it would be: Use FingerprintManager on Android 9, use BiometricPrompt on Android 10, throw in a few hacks for a better user experience, and cross your fingers and hope for the best....

October 1, 2019 · Evan Tatarka

Random musing on Jetpack Compose

Compose is a new reactive-style ui framework for android. After poking around in the source code, there are some interesting architectural decisions I would like to highlight: It is actually quite ambitious, instead of binding to TextView etc, it is laying out and rendering the ui itself. There will be interoperability with existing views but it represents a whole to way to render ui on android. It’s completely written in kotlin using the kotlin compiler plugin api....

May 8, 2019 · Evan Tatarka