Home
Karthik's Blog
Cancel

You need Xcode 12.5

Ever-since JetBrains announced that kotlin multi-platform is in beta I wanted personally explore the multi-platform thing. They have really awesome get started guide, and incase you happen to have ...

Theme attributes in android

Introduction Lately i have been facing a weird issue with respect changing themes in android as far i knew, call setTheme() before any view creation preferably in the onCreate(savedInstanceState: B...

In list of X items accessibility issue in recycler view

If you have enabled accessibility for your application, then you might have noticed first time you navigate to recycler view, your talk back might announce the contents of the recycler row along w...

Weird File-provider error in android

If we look at the be behaviour changes in android-7 Nougat. You will find file:// URI sharing outside the app is prohibited and may result in FileUriExposedException. This is when FileProvider sub...

Intended vs Intending in Espresso.

Test your intents using intended, intending when to use what. You might be already aware of Espresso-Intents which is an extension of Espresso used for testing Intents.The espresso intents basical...

Hidden costs of using @JvmStatic

Underling hidden costs of using JvmStatic in kotlin. Consider we have a class A in kotlin, and we use static factory pattern to getInstance of class A. class A{ companion object{ @JvmStat...

Effectively using Lazy

Effectively using property delegation function lazy in kotlin. Using lazy in kotlin We all know kotlin’s standard delegation function lazy which lazily initialises our object, let’s say you have c...

Singleton ReactInstance Manager

Weird code-push issue with associated with multiple instances of ReactInstanceManager class in Android. Recently, I was working on a project which had part of its screen’s implemented in react-nat...

Annotation Processor vs AOP.

Blog post on when to use @processor vs aop(aspect oriented programming). Question here boils down whether you need to get rid of boiler plate code or have a responsibility(logging, method tracing)...

ClipToPadding attribute to rescue.

Introduction By setting ClipToPadding = false , The view draws beyond its bounds into the padding area, overwrite this drawing with the parent’s padding. By default Android sets this property to t...