package Ġcom . x uan . know sh ine . logic Ċ Ċ import Ġandroidx . lifecycle . live Data Ċ import Ġcom . x uan . know sh ine . logic . model . Place Ċ import Ġcom . x uan . know sh ine . logic . network . Kon w Weather Network Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . async Ċ import Ġkotlinx . coroutines . coroutine Scope Ċ Ċ object ĠRepository Ġ{ ĊĠĠĠ Ġfun Ġsearch Places ( query : ĠString ) Ġ= Ġlive Data ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġplace Response Ġ= ĠKon w Weather Network . search Places ( query ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( place Response . code Ġ== Ġ" 2 0 0 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġplaces Ġ= Ġplace Response . location ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResult . success ( places ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResult . failure ( RuntimeException (" response Ġstatus Ġis Ġ${ place Response . code } ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResult . failure < List < Place >>( e ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġemit ( result ) ĊĠĠĠ Ġ} Ċ }