package Ġcom . applic aster . plugin . tele vision academy player . network Ċ Ċ import Ġcom . applic aster . plugin . tele vision academy player . Configuration Repository . api BaseUrl Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ class ĠRest Client Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠTIME _ OUT : ĠShort Ġ= Ġ 1 5 0 0 0 ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Volatile ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġinst an se : ĠRest Client ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġfun ĠgetInstance () Ġ= Ġinst an se ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġsynchronized ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinst an se ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠRest Client (). also Ġ{ Ġinst an se Ġ= Ġit Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġval Ġok HttpClient Ġ= ĊĠĠĠĠĠĠĠ ĠOk HttpClient . Builder (). connect Timeout ( TIME _ OUT . to Long (), ĠTimeUnit . MILLISECONDS ). build () ĊĊĊĠĠĠ Ġprivate Ġval Ġretrofit Ġ= ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠ Ġ. baseUrl ( api BaseUrl ) ĊĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠ Ġ. client ( ok HttpClient ) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġvar Ġt vp Client Ġ= Ġretrofit . create < Network API >( Network API :: class . java ) ĊĊĊ Ċ }