/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠDavid ĠBl anc Ċ Ġ* Ċ Ġ* Ġ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 Ġfr . s peek ha . http mock er . demo . di Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Environment Ċ import Ġfr . s peek ha . http mock er . Mock Response Interceptor Ċ import Ġfr . s peek ha . http mock er . demo . service . Github Api Endpoints Ċ import Ġfr . s peek ha . http mock er . demo . ui . Main Contract Ċ import Ġfr . s peek ha . http mock er . demo . ui . Main Presenter Ċ import Ġfr . s peek ha . http mock er . jackson . Jack son Mapper Ċ import Ġfr . s peek ha . http mock er . policies . Mirror Path Policy Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġorg . k oin . core . module . Module Ċ import Ġorg . k oin . dsl . module Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . jackson . Jack son Converter Factory Ċ Ċ val Ġinjection Module : ĠModule Ġ= Ġmodule Ġ{ ĊĊĠĠĠ Ġsingle Ġ{ ĊĠĠĠĠĠĠĠ ĠMock Response Interceptor . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. decode Scenario Path With ( Mirror Path Policy ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. load File With ( get < Context >(). assets :: open ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. parse Sc enarios With ( Jack son Mapper ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. save Sc enarios In ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEnvironment . get External Storage Public Directory ( Environment . DIRECTORY _ DOWNLOAD S ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Fake Network Delay ( 5 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsingle < Ok HttpClient > Ġ{ ĊĠĠĠĠĠĠĠ ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( get < Mock Response Interceptor >()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsingle < Ret rofit > Ġ{ ĊĠĠĠĠĠĠĠ ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl (" https :// api . github . com ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( get ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Jack son Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsingle < Github Api Endpoints > Ġ{ ĊĠĠĠĠĠĠĠ Ġget < Ret rofit >(). create ( Github Api Endpoints :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfactory < Main Contract . Presenter > Ġ{ Ġ( view : ĠMain Contract . View ) Ġ-> ĠMain Presenter ( view , Ġget (), Ġget ()) Ġ} Ċ }