Craig RussellLaunching a Kotlin Coroutine for immediate execution on the Main threadIf you launch a coroutine using launch(Dispatchers.Main) while already on the main thread, will the code execute immediately?Feb 15, 201910Feb 15, 201910
Craig RussellKotlin — Measure and Execute a block of codeUtility function to execute code and measure how long that took.Feb 14, 20191Feb 14, 20191
Craig RussellAndroid Magellan Web SQL Vulnerability and WebViewsAre Android WebViews vulnerable to Magellan?Dec 18, 2018Dec 18, 2018
Craig RussellWe Are Already Artificially IntelligentFuture historians might call this the period of Artificial Intelligence, and not for the reasons we’d like.Oct 28, 2018Oct 28, 2018
Craig RussellRecyclerView — More Animations with Less Code using Support Library ListAdapterListAdapter is a new class bundled in the 27.1.0 support library and simplifies the code required to work with RecyclerViews. The end…Mar 21, 201821Mar 21, 201821
Craig RussellAndroid WebView — Downloading ImagesThis blog post details how to download an image from a WebView which is triggered by the user long pressing on the image.Feb 17, 20181Feb 17, 20181
Craig RussellinProAndroidDevBe Careful What You Log — It Could Crash Your AppWhen logging with Timber, you should be careful about logging variables you don’t fully control, or your app could crash for some…Jan 30, 20182Jan 30, 20182
Craig RussellAndroid 3rd Party Keyboards and the Done ButtonCapturing the done button on an Android software keyboard is hard, as each keyboard might implement this differently.Jan 25, 2018Jan 25, 2018
Craig RussellinProAndroidDevBuilding an AutoCompleting EditText using RxJavaRxJava simplifies the complex interactions needed to build an autocompleting EditText view in Android.Jan 18, 20186Jan 18, 20186