Issue #429

August 30th, 2020

Articles & Tutorials

link image   Dark Theme with MDC (

Chris Banes shows how we can adapt our apps to support dark themes using Material Design Components (MDC).

Refactoring from LiveData to Coroutines & Flow (

Jossi Wolf shows how he refactored an app that used LiveData incorrectly/inefficiently to an improved version using Coroutines Flow.

link image   Ditch the emulators for real Android devices (

Kobiton enhances your mobile app testing process by giving you access to hundreds of real devices. And now with Intelligent Test Automation, your process gets easier with scriptless automation. Start a free trial today.

Animating your keyboard (part 2) - Reacting to WindowInset animations (

Chris Banes shows how to create seamless keyboard animations using WindowInsetAnimation.

Animating your Keyboard (part 1) (

Chris Banes introduces the new WindowInsets APIs for checking the keyboard (IME) visibility and size

Material Motion with MDC (

Hunter Stich shows how the Material motion system distills common transitions into a group of simple patterns for a smoother, more understandable user experience.

Port forwarding for Android app development (

Bevan Steele shows how to redirect ports on your development device in order to develop both app and backend on the same computer.

Kotlin 1.4 Release (

Kevin Galligan lists several Kotlin Multiplatform libraries that have been updated for Kotlin 1.4.

Introducing Constraint Layout 2.0 (

Sean McQuillan describes several new features in Constraint Layout 2.0!

Under the hood of Jetpack Compose — part 2 of 2 (

Over two posts Leland Richardson explains the benefits of Compose and looks at how it works under the hood. In this post, he looks at how Compose works under the hood.

Understanding Jetpack Compose — Part 1 of 2 (

Over two posts Leland Richardson explains the benefits of Compose and looks at how it works under the hood. To start, in this post, he discusses the challenges Compose addresses, the reasons behind some of the design decisions, and how those help app developers.

Optimizing Play Store Review Times (

After some investigation, Dan Lew discovered an interesting property of the Play Store: changes to any track causes reviews to be reset for every track.

Shrinking a Kotlin binary by 99.2% (

Jake Wharton shows how to track down some compiled file size changes and gain better insights into dependency changes using the dependency-tree-diff Gradle plugin.

Announcing Jetpack Compose Alpha! (

Google announces the release of the alpha of Jetpack Compose, the modern UI toolkit designed to help you quickly and easily build beautiful apps across all Android platforms, with native access to the platform APIs

How we scaled technical discussions in the Android team (

In this article, Sakis Kaliakoudas covers the tools he and his team used to facilitate technical discussions, as they grew from 5 to 40 engineers in the span of 4 years.

Attacking Build Times With Sample Apps (

Bill Phillips starts with a high-level overview of the kinds of tactics used to directly tackle a long build time, and then he addresses a technique in some more detail: the sample app.

Material Theming with MDC: Shape (

Nick Rout focuses on shape theming using the Material Design Components (MDC) library.

Material Theming with MDC: Type (

Nick Rout focuses on type theming using the Material Design Components (MDC) library.

Material Theming with MDC: Color (

Nick Rout focuses on color theming using the Material Design Components (MDC) library.

We Recommend Material Design Components (

Android users expect your app to look and behave in a way that’s consistent with the platform, best achieved using the Material Design Components (MDC) library. Nick Butcher outlines the many benefits of using MDC, explaining why it’s the recommended solution.

Animating your Keyboard (part 1) (

Chris Banes describes the new WindowInsets APIs for checking the keyboard (IME) visibility and size, along with examples of how to use it.


Place a sponsored post

link image   Place a sponsored post & reach over 66k Android devs (



Android Engineer at Big Nerd Ranch (REmote, US)

Big Nerd Ranch specializes in developing business-building mobile apps for our clients, teaching fellow developers, and writing our best selling Big Nerd Ranch Guides. We are looking for Android Engineers to join our team. Learn more about us:

Top 10 Health&Fitness App recruiting a Senior Dev (Remote or Paris)

Join Fabulous: 🎖Top 10 Health&Fitness app, material design award winner, and nominated among Best Android Apps. If you really care about crafting a great experience that helps people change their lives, join us!

Senior Android Developer (Anywhere)

At Doist, our mission is to inspire the workplace of the future by creating simple yet powerful productivity tools that promote a more fulfilling way to work and live. We're looking for a passionate Android developer who is excited to continue improving Todoist and Twist.

Android Engineer (Java/Kotlin) (Berlin)

We're looking for an Android Engineer (Java/Kotlin) in Berlin who will join our international tech team as soon as possible in creating one of the fastest growing companies in the heating market.


Libraries & Code

Showkase (

Showkase is an annotation-processor based Android library that helps you organize, discover, search and visualize Jetpack Compose UI elements

diffuse (

Diffuse is a tool for diffing APKs, AABs, AARs, and JARs in a way that aims to provide both a high-level view of what changes along with important detailed output

constraintlayout (

ConstraintLayout is an Android layout component that allows you to position and size widgets in a flexible way. These are the official sources for the control.

material-components-android-compose-theme-adapter (

A Google library that enables reuse of Material themes defined in XML for theming in Jetpack Compose.

dependency-tree-diff (

An intelligent diff tool for the output of Gradle's dependencies task

compose-samples (

This repository contains a set of individual Android Studio projects to help you learn about Compose in Android. Each sample demonstrates different use cases, complexity levels and APIs.



link image   ML Kit Pose Detection Makes Staying Active at Home Easier (

Google announced they've officially added Pose Detection to the ML Kit lineup.

Join us for Google Assistant Developer Day on October 8 (

Join the Google Assistant Developer Day on Thursday, October 8, to learn more about new tools and features we’re building for developers to bring Google Assistant to mobile apps and Smart Displays and help drive discoverability and engagement via voice


Videos & Podcasts

link image   What's new in Android 11 (

Four presentations from GDG Bucharest August 2020 Meetup: What's new in Android 11 by Cosmin Ștefan, Dependency Injection in Android with Hilt by Manuel Ernesto, Jetpack Compose by Wolfram Rittmeyer, and Navigation library by Carlo Lucera.

Animating your keyboard using WindowInsets (

Android 11 added the ability to control the keyboard, even scrolling it in and out synchronized with your app’s content. This video demonstrates how to implement this behaviour, and covers the new Jetpack functionality enabling this for easier WindowInset handling.

Compose for existing apps (

Jetpack Compose is now in alpha and you might want to start adding it to your existing apps.

Thinking in Compose (

Jetpack Compose is the new next generation UI toolkit. It uses a declarative component based paradigm for building UIs easily and quickly

Compose by example (

Walk through examples of theming, animation, layout and more, demonstrating how to customize and combine components to build real UIs. We

Android Developers Backstage: Jetpack Compose Alpha (

In this episode, Clara Bayarri, Matvei Malkov, and Anna-Chiara Bellini are joining Chet and Romain to talk about this milestone release of Jetpack Compose.

Sitting down with the Kotlin Advocates (

Hadi sits down with the Kotlin Advocates at JetBrains to discuss the life of a Kotlin advocate, the Kotlin 1.4 release, as well as the online Kotlin 1.4 event happening in October.