package Ġcom . weather po cket . android . logic . network Ċ Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ Ċ object ĠService Creator Ġ{ ĊĊĠĠĠ Ġprivate Ġconst Ġval ĠBASE _ URL _ L BS Ġ= Ġ" https :// rest api . amap . com /" ĊĠĠĠ Ġprivate Ġconst Ġval ĠBASE _ URL _ CA IY UN Ġ= Ġ" https :// api . ca iy un app . com /" ĊĠĠĠ Ġprivate Ġconst Ġval ĠBASE _ URL _ GOOGLE Ġ= Ġ" https :// maps . googleapis . com /" ĊĊĠĠĠ Ġprivate Ġval Ġretrofit _ L BS Ġ= ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠ Ġ. baseUrl ( BASE _ URL _ L BS ) ĊĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġprivate Ġval Ġretrofit _ CA IY UN Ġ= ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠ Ġ. baseUrl ( BASE _ URL _ CA IY UN ) ĊĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġprivate Ġval Ġretrofit _ GOOGLE Ġ= ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠ Ġ. baseUrl ( BASE _ URL _ GOOGLE ) ĊĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġfun Ġ< T > Ġcreate ( service Class : ĠClass < T >, api Name : String ): T { ĊĠĠĠĠĠĠĠ Ġwhen ( api Name ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" L BS " Ġ-> Ġreturn Ġretrofit _ L BS . create ( service Class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" CA IY UN " Ġ-> Ġreturn Ġretrofit _ CA IY UN . create ( service Class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" GOOGLE " Ġ-> Ġreturn Ġretrofit _ GOOGLE . create ( service Class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn Ġretrofit _ CA IY UN . create ( service Class ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T > Ġcreate ( service Class : ĠClass < T >): T { ĊĠĠĠĠĠĠĠĠ Ġreturn Ġretrofit _ CA IY UN . create ( service Class ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠT > Ġcreate ( api Name : ĠString ): T Ġ= Ġcreate ( T :: class . java , api Name ) ĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠT > Ġcreate (): T Ġ= Ġcreate ( T :: class . java ) Ċ }