package Ġcom . c act us . the movie . movie details . di Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . c act us . the movie . common . ViewModel Key Ċ import Ġcom . c act us . the movie . di . scopes . Fragment Scope Ċ import Ġcom . c act us . the movie . movie details . data . Details Repository Ċ import Ġcom . c act us . the movie . movie details . data . Details Repository Imp Ċ import Ġcom . c act us . the movie . movie details . data . Details Service Ċ import Ġcom . c act us . the movie . movie details . presentation . Details Fragment Ċ import Ġcom . c act us . the movie . movie details . presentation . Details ViewModel Ċ import Ġdagger . Bind s Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġdagger . android . Contribut es Android Injector Ċ import Ġdagger . mult ib ind ings . Into Map Ċ import Ġretrofit 2 . Ret rofit Ċ Ċ @ Module Ċ abstract Ġclass ĠDetails Module Builder Ġ{ ĊĠĠĠ Ġ@ Fragment Scope ĊĠĠĠ Ġ@ Contribut es Android Injector ( modules Ġ= Ġ[ Details Data Module :: class , ĠDetails Module :: class ]) ĊĠĠĠ Ġabstract Ġfun Ġbind s Details Fragment (): ĠDetails Fragment Ċ } Ċ Ċ @ Module Ċ abstract Ġclass ĠDetails Module Ġ{ ĊĊĠĠĠ Ġ@ Bind s ĊĠĠĠ Ġ@ Into Map ĊĠĠĠ Ġ@ ViewModel Key ( Details ViewModel :: class ) ĊĠĠĠ Ġabstract Ġfun Ġbind Details ViewModel ( viewModel : ĠDetails ViewModel ): ĠViewModel Ċ } ĊĊĊ Ċ @ Module Ċ abstract Ġclass ĠDetails Data Module Ġ{ ĊĊĠĠĠ Ġ@ Bind s ĊĠĠĠ Ġabstract Ġfun Ġprovide Local DataSource ( repository : ĠDetails Repository Imp ): ĠDetails Repository ĊĊĊĠĠĠ Ġ@ Module ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġ@ Provides ĊĠĠĠĠĠĠĠ Ġfun Ġprovide Service ( ret rofit : ĠRet rofit ): ĠDetails Service Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġretrofit . create ( Details Service :: class . java ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ