On-Device Debugging Part I: Now It’s On, Now It’s Off
Over the past year, my team have been steadily building a Developer Options screen for our app. It is a simple PreferenceScreen available on debug builds that aims to help us:
- figure out what’s going on without needing to be attached to a computer
- test various configurations without re-installing
- have a host for various experimentations we are trying to explore
Tintable Toolbar Things
A few weeks ago, I merged a pull request that updates our app’s theme to Material Components from the Bridge version.
Shortcuts to Shortcuts
It has been a few years since I last looked at implementing app shortcuts, and lately I have been looking at them again. I remember implementing them the first time they were released for Android N, but as with life, things have changed a bit.
Moving On Up (Or Down)
Using CMD+SHIFT+UP/DOWN when reordering element in an enum respects the semicolon. 😍 It's the small things! pic.twitter.com/ct6y537G6a
— Zarah Dominguez 🦉 (@zarahjutz) April 3, 2019
Bug Reports: A Story
“This tool sucks ![]()
![]()
![]()
![]()
”
Unwrapping Framework Binding Adapters
For the past year or so, my team has been all-in with data binding. And if you know me at all, it obviously makes me one happy duck!
Okay Google, Show Me a Million Errors
EDIT
Aaaaaaaand an update literally two minutes after I posted this: I was told that the data binding fix made it to the latest Android Studio Canary release.
Ya Basic
Over the last year or so, we have been writing a lot of Kotlin at work. There is a consensus within the team that we all like working with the language. It really helps our productivity a lot by reducing a lot of boilerplate, we can actively enforce nullability rules that makes business logic obvious, and having the option to make extension functions offers a lot of flexibility.
Selectively Resetting SharedPreferences
I have recently been working on a feature that has a bunch of pre-conditions. Things like the user must be logged in AND the feature flag has to be turned on AND it only appears the first time the user lands on the screen.
Effectively Wrangling Together a Bunch of Views
One bit of task that I find myself doing over and over again is managing a bunch of Views and their visibility. In the olden days <insert old person handwave>, before there was ConstraintLayout, I have written my fair share of container_s to make this task manageable. Say we have to do something like this: