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.
Gesture Navigation: Immersive Modes (IV)
In this fourth post, we’re going to cover what you can do if your app needs to draw across the entire screen, with the system bars hidden. Referring back to our flowchart from the previous post, we’re going to cover the remaining two solutions on the right hand-side of the chart.
Read More
We're reaching the end of 2019 and we just started our migration from Dagger 1 to Dagger 2. That's right, we're still using Dagger 1. That may sound surprising to you, especially if you're lucky enough to be working on a younger codebase. That's not the case for a lot of (most?) people, though, including us at Blinkist — and that's why talking about legacy technologies migration is still relevant most of the time.
When we first started writing Kotlin, we were eager to use the new functionality of the language. We wanted to use extension functions and we didn’t realise the consequences of over-using them. We ended up with a code base that used them everywhere. 
The previous post on R8 covered enum ordinals which then allowed branch elimination to apply to a switch statement. In that post, the full bytecode for switch on an enum was omitted because there’s actually more to the optimization.
Android NDK r21 is now in beta! It’s been a longer than usual development cycle (three months since NDK r20), so there’s quite a lot to discuss for this release.We have the usual toolchain updates, improved defaults for better security and performance, and are making changes to our release process to better accommodate users that need stability without hindering those that want new features.
Libraries and useful resources
A library for add margin each item in RecyclerView.
Gradle Play Publisher is Android's unofficial release automation Gradle Plugin. It can do anything from building, uploading, and then promoting your App Bundle or APK to publishing app listings and other metadata.
As Android developers we know Java and now Kotlin. But to become even more seasoned developers, learning newer languages can be a level booster.
Class of the week
An AudioStream is a RtpStream which carrys audio payloads over Real-time Transport Protocol (RTP). Two different classes are developed in order to support various usages such as audio conferencing. An AudioStream represents a remote endpoint which consists of a network mapping and a configured AudioCodec. On the other side, An AudioGroup represents a local endpoint which mixes all the AudioStreams and optionally interacts with the speaker and the microphone at the same time.
Beyond Android
Bill Barr wrote a letter last week begging facebook not to install end-to-end encryption. The letter doesn’t say the word backdoor but FB’s response does.