package Ġcom . ces ar wil ly mc . movie . presentation . list Movies . di Ċ Ċ import Ġandroidx . annotation . Visible ForTesting Ċ import Ġandroidx . annotation . Visible ForTesting . PRIVATE Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġcom . ces ar wil ly mc . movie . module . scope . Feature Scope Ċ import Ġcom . ces ar wil ly mc . movie . presentation . list Movies . List Movie ViewModel Ċ import Ġcom . ces ar wil ly mc . movie . presentation . list Movies . List Movies Fragment Ċ import Ġcom . ces ar wil ly mc . movie . presentation . list Movies . paging . Movies Page DataSource Factory Ċ import Ġcom . ces ar wil ly mc . movie . common . viewModel Ċ import Ġcom . ces ar wil ly mc . movie . data . repo . Movie Repo Ċ import Ġcom . ces ar wil ly mc . movie . presentation . list Movies . adapter . List Movie Adapter Ċ import Ġcom . ces ar wil ly mc . movie . presentation . list Movies . paging . Movies Page DataSource Ċ import Ġdagger . Module Ċ import Ġdagger . Provides ĊĊ Ċ @ Module Ċ class ĠMovie List Module ( ĊĠĠĠ Ġval Ġfragment : ĠList Movies Fragment Ċ ) Ġ{ ĊĊĊĠĠĠ Ġ@ Feature Scope ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovides Characters List ViewModel ( ĊĠĠĠĠĠĠĠ Ġdata Factory : ĠMov ies Page DataSource Factory ĊĠĠĠ Ġ) Ġ= Ġfragment . viewModel Ġ{ ĊĠĠĠĠĠĠĠ ĠList Movie ViewModel ( data Factory ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovides Movie Page DataSource ( ĊĠĠĠĠĠĠĠ ĠviewModel : ĠList Movie ViewModel , ĊĠĠĠĠĠĠĠ Ġrepository : ĠMovie Repo ĊĠĠĠ Ġ) Ġ= ĠMov ies Page DataSource ( ĊĠĠĠĠĠĠĠ Ġrepository Ġ= Ġrepository , ĊĠĠĠĠĠĠĠ Ġscope Ġ= ĠviewModel . viewModel Scope , ĊĠĠĠ Ġ) ĊĊĊĠĠĠ Ġ@ Feature Scope ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovides Movie ListAdapter ( ĊĠĠĠĠĠĠĠ ĠviewModel : ĠList Movie ViewModel ĊĠĠĠĠĠĠĠ Ġ) Ġ= ĠList Movie Adapter ( viewModel ) Ċ } Ċ