package Ġcom . team no yes . major par ks in se oul . main . par ks Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroidx . lifecycle . Android ViewModel Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġcom . team no yes . major par ks in se oul . datamodel . Model Par ks Ċ import Ġkotlinx . coroutines . launch Ċ import Ġorg . json . JSONObject Ċ import Ġjava . lang . Exception Ċ Ċ class ĠPark s ViewModel ( application : ĠApplication ) Ġ: ĠAndroid ViewModel ( application ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġ_ load Region Ġ= ĠMutable LiveData < List < Model Par ks >>() ĊĠĠĠ Ġval Ġload Region : ĠLive Data < List < Model Par ks >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ load Region ĊĠĠĠ Ġprivate Ġval Ġapp Ġ= Ġapplication ĊĊĠĠĠ Ġfun Ġget Region (){ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠinputStream Ġ= Ġapp . assets . open (" json / Region . json ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Ġ= ĠinputStream . buffered Reader (). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . read Text () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġregion Json Ġ= ĠJSONObject ( json ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf < Model Par ks >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( key Ġin Ġregion Json . keys ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( Model Par ks ( region Json [ key ]. toString (), Ġkey )) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ load Region . value Ġ= Ġlist ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcatch Ġ( e : ĠException ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ }