package Ġcom . y jf . weather . logic . network Ċ Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Callback Ċ import Ġretrofit 2 . Response Ċ import Ġjava . lang . RuntimeException Ċ import Ġkotlin . coroutines . resume Ċ import Ġkotlin . coroutines . resume With Exception Ċ import Ġkotlin . coroutines . suspend Coroutine Ċ Ċ private Ġsuspend Ġfun Ġ< T > ĠCall < T >. await (): T { ĊĠĠĠ Ġreturn Ġsuspend Coroutine Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontinuation Ġ-> ĊĠĠĠĠĠĠĠ Ġenqueue ( object Ġ: ĠCallback < T > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < T >, Ġt : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinuation . resume With Exception ( t ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < T >, Ġresponse : ĠResponse < T >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody = response . body () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( body != null ) continu ation . resume ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġcontinuation . resume With Exception ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRuntimeException (" response Ġbody Ġis Ġnull ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĊĠĠĠ Ġ} Ċ }