↓ Skip to main content

Posts

CI cache key over many files

·3 mins
Learn how to generate stable CI cache keys across multiple build files using checksums in CircleCI, eliminating the need for manually tracking each dependency file separately
RxJava to Kotlin coroutines

RxJava to Kotlin coroutines

·8 mins
Refactor an RxJava-heavy Android app to use Kotlin coroutines while maintaining consistent threading models and single-source-of-truth schedulers
Windows Insets + Fragment Transitions

Windows Insets + Fragment Transitions

·5 mins
Fix window insets handling during fragment transitions by manually dispatching insets to all children instead of letting ViewGroup stop at the first consumer
Fragment Transitions

Fragment Transitions

·4 mins
Master Fragment shared element transitions by using postponed transitions, reordering, and proper animation setup to create smooth UI transitions between fragments
Room + Date / Time

Room + Date / Time

·7 mins
Implement timezone-aware date and time storage in Android Room database using ThreeTen-BP library and custom TypeConverters with ISO 8601 format strings

Carry on Scrolling

·6 mins
Master nested scrolling improvements in Material Design Components v26.0.0-beta2 that fix flinging behavior and AppBarLayout interactions using new TYPE_TOUCH and TYPE_NON_TOUCH parameters
Jekyll + Firebase Hosting

Jekyll + Firebase Hosting

·7 mins
Move your Jekyll static site from GitHub Pages to Firebase Hosting with CircleCI CI/CD, gaining SSL support, custom rules, and worldwide CDN distribution

Why isn’t my animation running?

·2 mins
Understand why animations may not run during Activity transitions due to Android 4.0’s view hierarchy draw pass optimization that was removed in Android 7.0
AppCompat v23.2 — Age of the vectors

AppCompat v23.2 — Age of the vectors

·4 mins
AppCompat v23.2 adds VectorDrawableCompat for seamless vector drawable support on Android 2.1+, reducing app size and enabling consistent vector asset usage across all devices