Sign in

Passionate Android developer and curious tinkerer!🤖 Knowledge is power🦸! Share freely!📚

⚙️Step 1 — Set domain in GitHub project

Go to your GitHub Pages site’s repository settings. Under “Custom domain”, add or remove your custom domain and click “Save”.

⚙️Step 2 — Set custom resource record for domain

  • Android Architecture Blueprints v2Google’s official recommended app
  • Plaid 2.0 Google’s official recommended app with focus on Material Design
  • SunflowerGoogle’s official recommended app with more focus on many Jetpack components
  • CatchUp

sealed class Result<out R> {
data class Success<out T>(val data: T) : Result<T>()
data class Error(val exception: Exception) : Result<Nothing>()
when (result) {
is Result.Success<LoginResponse> -> // Happy path
else -> // Show error in UI

Preview of editing animated vector drawable (AVD).
class AvdLoadingProgressBar @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : AppCompatImageView(context, attrs, defStyleAttr) {
private val avd = AnimatedVectorDrawableCompat.create(context, R.drawable.avd_anim)!!

init {
avd.registerAnimationCallback(object : Animatable2Compat.AnimationCallback() {
override fun onAnimationEnd(drawable: Drawable?) {
post { avd.start() }
Here is more verbose Gist version…

Photo by Shahadat Rahman on Unsplash

My personal visualization of Dark-Mode for

Setup Gradle for the App

A snapshot of the ‘H.K. Vision’ Muzei Plugin on Android Device — Available as BETA release on Google Play

GitHub Actions Continuous Integration (CI) Workflow

Android TextView where “Register Now” is a tappable link with a callback.

Hossain Khan

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store