package Ġcom . nb . ret rofit x . network Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . util . Log Ċ import Ġcom . nb . ret rofit x . extensions . get Apis Ċ import Ġcom . nb . ret rofit x . extensions . getResponse Ċ import Ġcom . nb . ret rofit x . extensions . is Network Available Ċ import Ġcom . nb . ret rofit x . extensions . toast Ċ import Ġcom . nb . ret rofit x . models . User Response Ċ Ċ suspend Ġfun ĠActivity . getUser ( on Api Success : Ġ( User Response ) Ġ-> ĠUnit , Ġon ApiError : Ġ( String ) Ġ-> ĠUnit Ġ= Ġ{}, Ġon Network Error : Ġ() Ġ-> ĠUnit Ġ= Ġ{}) Ġ{ ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġget Response ( get Apis (). getUser (), Ġ{ Ġrun On Ui Thread Ġ{ Ġon Api Success ( it ) Ġ} Ġ}, Ġ{ Ġrun On Ui Thread Ġ{ Ġtoast ( it ) Ġ}; Ġon ApiError ( it ) Ġ}) ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Network Available ()) ĠLog . e (" api _ error ", Ġe . toString ()) Ġelse Ġrun On Ui Thread Ġ{ Ġtoast (" No Ġinternet "); Ġon Network Error () Ġ} ĊĠĠĠ Ġ} Ċ }