Lint Revisit: TODO Detector v2

A few years ago, I wrote about writing a Lint rule to validate the format of TODO comments. Whilst I find that Lint is still difficult to grok, I have since learnt a little bit more that I feel a revisit of this rule is warranted.

8 min read

Extended ADB: En Vogue ๐Ÿ’ƒ

Last year, I wrote about an extended adb script. The idea of the script is to make it really easy to issue an adb command even if there are multiple devices attached by presenting a chooser. For example, if I have two physical devices and an emulator and I want to use my deeplink alias, I get presented with a device chooser:

โžœ  ~ deeplink https://zarah.dev
Multiple devices found:
1 - R5CR7039LBJ
2 - 39030FDJH01460
3 - emulator-5554
Select device: 
3 min read

Extending an Interactive ADB ๐Ÿ”€

A few weeks ago, I wrote about a script for making adb a little bit more interactive. The script makes the process of running an adb command much smoother if there are multiple devices attached by presenting a chooser. For example, when sending a deeplink:

โžœ  ~ deeplink https://zarah.dev
Multiple devices found:
1 - R5CR7039LBJ
2 - emulator-5554
3 - emulator-5556
Select device: 
4 min read

Bundling Things Nice and Pretty ๐Ÿ’

Of all the projects that I have worked on over the years, one thing they all have in common is the need to pass things around. Whether passing stuff to an Activity as Intent extras, a Fragment as arguments or its onSaveInstanceState, or even a ViewModelโ€™s SavedStateHandle, the most common way to do it is through a Bundle.

5 min read

๐Ÿ“ฃ PSA: Disabling mapping file uploads with Crashlytics

One of the more famous crash reporting tools used in Android development is probably Crashlytics. It offers up a lot of insight into an appโ€™s performance โ€“ from device characteristics to insights on issue commonalities. If, like my current project, obfuscation is enabled in an app, Crashlytics has a Gradle plugin that uploads the mapping file so that we end up with readable crash reports.

~1 min read