package Ġau . com . on action example . components . home Ċ Ċ import Ġau . com . on action . On Action Ċ import Ġau . com . on action example . components . home . data . Videos Ċ import Ġcom . google . gson . Gson Builder Ċ import Ġkotlinx . coroutines . launch Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġokhttp 3 .* Ċ import Ġjava . io . IOException ĊĊ Ċ class ĠHome Model Ġ{ ĊĠĠĠ Ġprivate Ġval Ġclient Ġ= ĠOk HttpClient () ĊĊĠĠĠ Ġfun Ġfetch Videos () Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠRequest . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. url ( Services . VID EOS _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . new Call ( request ). enqueue ( object Ġ: ĠCallback Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall , Ġe : ĠIOException ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall , Ġresponse : ĠResponse ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgson Ġ= ĠGson Builder (). create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvideos Ġ= Ġgson . fromJson ( response . body ?. string (), ĠV ideos :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOn Action . do Action ( Constants . GET _ VID EOS , Ġvideos ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ object ĠServices Ġ{ ĊĠĠĠ Ġconst Ġval ĠV IDE OS _ URL Ġ= Ġ" https :// my - json - server . typ icode . com / kotlin - hands - on / kotlin conf - json / videos " Ċ } Ċ Ċ object ĠConstants Ġ{ ĊĠĠĠ Ġconst Ġval ĠGET _ VID EOS Ġ= Ġ" GET _ VID EOS " Ċ }