Feature module

The wishlist feature module includes all the presentation logic required to display the wishlist screen. If you need to include this module, add it to your build.gradle:

implementation ("com.poqstudio:wishlist:$VERSION_NAME")

Architecture

The general architecture of the Wishlist screen
The general architecture of the Wishlist screen

  • WishlistActivity is the entry point to the Wishlist screen. It adds WishlistFragment to the screen using WishlistFragmentFactory.
  • WishlistFragment initialises WishlistView by passing WishlistPresentationDependencyProvider and handles navigation to other screens by observing corresponding events.
  • WishlistView comprises all the view related logic and handles view visibilities by observing corresponding loading, error, and other events from WishListViewModel. Moreover, it sets up the adapter and initialises WishListViewModel.
  • WishlistViewModel comprises the presentation logic of the screen. It executes the domain interactors and exposes the required data and state of the screen via Observables.

Views breakdown

The Wishlist screen is broken down into customisable views:

The Views in the Wishlist screen
The Views in the Wishlist screen

ViewXMLAlias
WishlistActivityactivity_with_fragment
WishlistFragmentfragment_wishlist
WishlistViewwishlist_viewwishListViewLayout
WishListItemViewHolderitem_wish_listwishListListItem
ShimmerWishlistViewplace_holder_wishlistshimmerWishlistLayout

Styles breakdown

The recommended way of styling Wishlist screen is by using App Styling. If you need more granular customisation, you can override the specific style and provide your own. The styles for the Wishlist screen are shown in the image below:

Style elements in the Wishlist screen
Style elements in the Wishlist screen