/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 0 . ĠN uh ĠK oca . ĠAll ĠRights ĠReserved . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġio . github . nu hk oca . lib bra . ui . di Ċ Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġdagger . Bind s Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġdagger . mult ib ind ings . Into Map Ċ import Ġio . github . nu hk oca . lib bra . ui . currency . Bind able Multiplier Ċ import Ġio . github . nu hk oca . lib bra . di . factory . Fragment Key Ċ import Ġio . github . nu hk oca . lib bra . di . factory . ViewModel Key Ċ import Ġio . github . nu hk oca . lib bra . ui . currency . Currency Adapter Ċ import Ġio . github . nu hk oca . lib bra . ui . currency . Currency Fragment Ċ import Ġio . github . nu hk oca . lib bra . ui . currency . Currency ViewModel Ċ import Ġio . github . nu hk oca . lib bra . util . event . Single Live Event Ċ import Ġjavax . inject . Scope Ċ Ċ @ Module Ċ internal Ġabstract Ġclass ĠMain Module Ġ{ ĊĊĠĠĠ Ġ@ Bind s ĊĠĠĠ Ġ@ Into Map ĊĠĠĠ Ġ@ Main Scope ĊĠĠĠ Ġ@ Fragment Key ( Currency Fragment :: class ) ĊĠĠĠ Ġinternal Ġabstract Ġfun Ġbind Currency Fragment ( currency Fragment : ĠCurrency Fragment ): ĠFragment ĊĊĠĠĠ Ġ@ Bind s ĊĠĠĠ Ġ@ Into Map ĊĠĠĠ Ġ@ Main Scope ĊĠĠĠ Ġ@ ViewModel Key ( Currency ViewModel :: class ) ĊĠĠĠ Ġinternal Ġabstract Ġfun Ġbind Currency ViewModel ( viewModel : ĠCurrency ViewModel ): ĠViewModel ĊĊĠĠĠ Ġ@ Module ĊĠĠĠ Ġinternal Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Provides ĊĠĠĠĠĠĠĠ Ġ@ Main Scope ĊĠĠĠĠĠĠĠ Ġinternal Ġfun Ġprovide Currency Adapter ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem ClickListener : ĠSingle Live Event < String >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind able Multiplier : ĠBind able Multiplier ĊĠĠĠĠĠĠĠ Ġ) Ġ= ĠCurrency Adapter ( item ClickListener , Ġbind able Multiplier ) ĊĊĠĠĠĠĠĠĠ Ġ@ Provides ĊĠĠĠĠĠĠĠ Ġ@ Main Scope ĊĠĠĠĠĠĠĠ Ġinternal Ġfun Ġprovide ItemClickListener () Ġ= ĠSingle Live Event < String >() ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Scope Ċ @ Must Be Document ed Ċ internal Ġannotation Ġclass ĠMain Scope Ċ