package Ġjp . li ang . tan uki . web . api Ċ Ċ import Ġio . reactivex . Observable Ċ import Ġjp . li ang . tan uki . Flavor Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . adapter . rx java 2 . Rx Java 2 Call Adapter Factory Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ Ċ /** Ċ Ġ* ĠFac ilit ate ĠAPI Ġcalling Ġto Ċ Ġ* Ġ// Api / User / Method ? query Ċ Ġ* Ġ-> Ċ Ġ* ĠApi . User . Method { Ġquery () Ġ}. request ( response Delegate ) Ċ Ġ*/ Ċ Ċ object ĠApi Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ/ version / check ĊĠĠĠĠ Ġ* Ġ ãĤ¢ãĥĹãĥª ãģ® ãĥĲãĥ¼ãĤ¸ãĥ§ãĥ³ ãĥģ ãĤ§ ãĥĥãĤ¯ API ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġe . g . ĊĠĠĠĠ Ġ* ĠApi . version (). check (" appId ") ĊĠĠĠĠ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . new Thread ()) ĊĠĠĠĠ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( onNext , ĠonError ) ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠAPI ä» ķ æ§ ĺ æĽ¸ Ġv 1 . 0 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġversion () Ġ= Ġbuild Ġ{ Ġcreate ( ApiVersion :: class . java ) Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ/ version / check ĊĠĠĠĠ Ġ* Ġ ãĤ¢ãĥĹãĥª ãģ® ãĥĲãĥ¼ãĤ¸ãĥ§ãĥ³ ãĥģ ãĤ§ ãĥĥãĤ¯ API ( ç° ¡ æĺĵ çīĪ ) ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġe . g . ĊĠĠĠĠ Ġ* ĠApi . version { Ġcheck (" appId ") Ġ}. execute ( ĠResponse Delegate < Version Response >( on Response , Ġon Failed ) Ġ) ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠAPI ä» ķ æ§ ĺ æĽ¸ Ġv 1 . 0 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġ< T > Ġversion ( api Method : ĠApi Version . () Ġ-> ĠObservable < T >): Request Delegate < T > Ġ= ĠRequest Delegate ( version (). api Method ()) ĊĊĠĠĠ Ġprivate Ġfun Ġ< T > Ġbuild ( service : ĠRet rofit . () Ġ-> ĠT ) Ġ Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Call Adapter Factory ( Rx Java 2 Call Adapter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( Flavor . api Server Url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. service () Ċ } Ċ