On API level 28(Pie) a new method is introduced in the Context
class to get Executor for the main thread getMainExecutor().
How to get this executor on API
You can use new HandlerExecutor(Looper.getMainLooper());
from com.google.android.gms.common.util.concurrent.HandlerExecutor
...in the end it's the same answer as atarasenko.
I added an extension in Kotlin for that:
fun Context.mainExecutor(): Executor {
return if (VERSION.SDK_INT >= VERSION_CODES.P) {
mainExecutor
} else {
HandlerExecutor(mainLooper)
}
}