Android Weekly is a free newsletter that helps you to stay cutting-edge with your Android Development. The newsletter comes once a week and covers a broad range of topics like tutorials, screencasts, news... just everything that's awesome in the Android Development world!
In the AppComponent, there is Builder which can be replaced with the interface Factory : AndroidInjector.Factory<MyApplication> as Builder is deprecated in the latest version of Dagger.
The fun inject(instance: MyApplication) can be removed as DaggerApplication class handles the field injections in the Application class.
The @BindsInstance function can be removed as the Factory generates this code for us.
Coroutines:
We can use withContext() function to switch threads in a coroutine instead of launching a new coroutine in separate thread each time.
Every function should handle the thread switching for proper execution of its body instead of relying on the caller of the function.
There is no thread switching needed for the database operations if the function in Dao is marked as suspend. Room uses a custom dispatcher optimised for the database operations.