Fresh news from Droid zone
Hello, you're reading Infinum Android Sweets, bringing you the latest Android related news straight to your inbox every week.
Uncomfortable Questions About App Signing
When App Signing came out, I was concerned for the reasons that I outlined in this letter. However, it was opt-in, and so while I would quietly steer developers away from it, that is all that I did. Now that you are making it mandatory for some apps — and appear have the ability to make it mandatory for all in the future — I think that it is time that we figure out how to minimize the risk to the ~2.5 billion Android device owners.
Read More
When a problem is very difficult sometimes the best solution is to reconsider the premise. Adding an abstraction (yay coroutines) or taking one away (boo XML) may shrink the problem!

This blog post outlines recent improvements around how users interact with the lockscreen on Android devices and more generally with authentication. In particular, we focus on two categories of authentication that present both immense potential as well as potentially immense risk if not designed well: biometrics and environmental modalities.
The shallow size of that object plus the shallow size of all the objects that are transitively held in memory by only that object. In other words, it's the amount of memory that will be freed when that object is garbage collected.
DataStore is a replacement for SharedPreferences. While there are some similarities to SharedPreferences, DataStore offers far greater flexibility.
Libraries and useful resources
Layouts with lambdas.
🍂 Jetpack Compose image loading library for requesting and displaying images using Fresco.
Generates configuration files for Gradle Plugins.
A tweet from a famous tech journalist about Android vs iOS spurs a storm. In this episode, Donn and Kaushik given their honest thoughts on iOS vs Android; and being developers for the platform.
Class of the week
This class provides access to the speech recognition service. This service allows access to the speech recognizer. Do not instantiate this class directly, instead, call SpeechRecognizer#createSpeechRecognizer(Context). This class's methods must be invoked only from the main application thread.
Beyond Android
The beginning of pretty much anything is hard. There are a lot of lessons for beginners and junior developers that many wished they knew beforehand.