package Ġcom . example . app write demo application . ui . Localization Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġcom . example . app write demo application . utils . Client Ċ import Ġcom . example . app write demo application . utils . Event Ċ import Ġio . app write . exceptions . App write Exception Ċ import Ġio . app write . services . Locale Ċ import Ġkotlinx . coroutines . launch Ċ import Ġorg . json . JSONObject Ċ Ċ class ĠLocalization ViewModel Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġ_ error Ġ= ĠMutable LiveData < Event < App write Exception >> (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġvalue Ġ= Ġnull ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġerror : ĠLive Data < Event < App write Exception >> Ġ= Ġ_ error ĊĊĠĠĠ Ġprivate Ġval Ġ_ response Ġ= ĠMutable LiveData < Event < String >> (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġvalue Ġ= Ġnull ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġresponse : ĠLive Data < Event < String >> Ġ= Ġ_ response ĊĊĠĠĠ Ġprivate Ġval Ġlocalization Service Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠLocale ( Client . client ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Locale () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġresponse Ġ= Ġlocalization Service . get () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġjson Ġ= Ġresponse . body ?. string () Ġ?: Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjson Ġ= ĠJSONObject ( json ). toString ( 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ response . post Value ( Event ( json )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠApp write Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ error . post Value ( Event ( e )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }