Android Picture Engine

Wallpaper app made using Hilt, Retrofit, Room, Navigation Components, MVI, Coroutines, Flows, ViewModel, LiveData, Datastore Preference.


  • The app fetches pictures from Unsplash showing them to the user in a scrolling list.
  • The list of pictures is cached in the local database and gets refreshed every 10 minutes.
  • From the bottom app bar the user will be able to sort the list of pictures and tapping on the search icon will direct them to a new screen where they can make custom searches.
  • Always from the bottom app bar, tapping on the setting icon will open up a bottom sheet dialog where the user can change the app theme and get some info from the about section.
  • Tapping on one of the picture will open a details screen with additional information where the user will be able to download or setting the picture as a wallpaper.
  • The app handles error cases showing appropriate messages to the user.


Getting Started

The app uses Unsplash API. You can get an API key signing up here and set it in