package Ġba . ah av ic . exchange me . data . rates Ċ Ċ import Ġdagger . Bind s Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Module Ċ abstract Ġclass ĠR ates Data Module Ġ{ ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Bind s ĊĠĠĠ Ġabstract Ġfun Ġprovides Rates Repository ( repository : ĠR ates Repository Impl ) Ġ: ĠR ates Repository ĊĊĠĠĠ Ġ@ Module ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Provides ĊĠĠĠĠĠĠĠ Ġ@ Singleton ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġprovides Rates Client ( ret rofit : ĠRet rofit ) Ġ= Ġretrofit . create ( Rates Client :: class . java ) ĊĠĠĠ Ġ} Ċ } Ċ