Skip to content

Jetpack Compose app that downloads image from internet using Retrofit and Kotlin Coroutines in WorkManager and also applies custom color filter using Canvas

License

Notifications You must be signed in to change notification settings

raheemadamboev/jetpack-workmanager

Repository files navigation

jetpack-workmanager

Simple application that downloads Eminem image from internet and applies green color filter as well as displaying it in the screen. Image is stored in the Imgur server. Image is downloaded with the help of Retrofit and it is executed in the background using Kotlin Coroutines in IO dispatcher. Also downloading image is not dependent on always opening the app because WorkManager is used to execute that work. Two worker is chained uniquely and second one (worker that applies color filter to downloaded image) waits for first one to finish as it needs to get data from first worker. It only executes the work if device is connected to internet connection. UI is built by Jetpack Compose and MVVM architectural pattern is applied. Color filter is applied using Canvas API. Dependencies are injected using Dagger Hilt. Also dependecies are injected to Worker using Hilt. Images are displayed to image composable using Coil.

Jetpack WorkManager

Download demo

Tech stack:

  • MVVM
  • Jetpack Compose
  • Hilt Dependency Injection
  • Jetpack WorkManager
  • Retrofit
  • Kotlin Coroutines
  • LiveData, State
  • Coil
  • Canvas

About

Jetpack Compose app that downloads image from internet using Retrofit and Kotlin Coroutines in WorkManager and also applies custom color filter using Canvas

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages