package Ġco . com . fly pass . fly pass Native . repository Ċ Ċ import Ġandroid . content . Context Ċ import Ġco . com . fly pass . fly pass Native . core . App Constants Ċ import Ġco . com . fly pass . fly pass Native . core . Auth Interceptor Ċ import Ġco . com . fly pass . fly pass Native . data . model . Model Ċ import Ġco . com . fly pass . fly pass Native . data . model . Page able Response Ċ import Ġco . com . fly pass . fly pass Native . data . model . Vehicle Ċ import Ġcom . google . gson . Gson Builder Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ import Ġretrofit 2 . http . GET Ċ import Ġretrofit 2 . http . Query Ċ Ċ interface ĠVehicle WebService Ġ{ ĊĠĠĠ Ġ@ GET (" list ") ĊĠĠĠ Ġsuspend Ġfun Ġget Veh icles ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Query (" license Plate ") Ġlicense Plate : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Query (" page ") Ġpage : ĠInt Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Query (" vehicle Type ") Ġvehicle Type : ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġ): ĠModel < Page able Response < Vehicle >> ĊĊĠĠĠ Ġ@ GET (" get Vehicle Step One Message ") ĊĠĠĠ Ġsuspend Ġfun Ġget Vehicle Messages (): ĠModel < String > Ċ } Ċ Ċ class ĠApi Client Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġapi Service : ĠVehicle WebService ĊĊĠĠĠ Ġfun Ġget ApiService ( context : ĠContext ): ĠVehicle WebService Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! :: api Service . isInitialized ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġretrofit Ġ= ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ("${ App Constants . BASE _ URL }${ App Constants . VE H IC LE _ SERVICE }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ( Gson Builder (). create ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( ok HttpClient ( context )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapi Service Ġ= Ġretrofit . create ( Vehicle WebService :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġapi Service ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġok HttpClient ( context : ĠContext ): ĠOk HttpClient Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( Auth Interceptor ( context )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} Ċ }