package Ġcom . code path . apps . rest client template . models Ċ Ċ import Ġandroid . os . Parcelable Ċ import Ġandroidx . room . Column Info Ċ import Ġandroidx . room . Entity Ċ import Ġandroidx . room . PrimaryKey Ċ import Ġkotlinx . parcel ize . Parcel ize Ċ import Ġorg . json . JSONArray Ċ import Ġorg . json . JSONObject Ċ Ċ @ Entity Ċ @ Parcel ize Ċ class ĠUser ( ĊĠĠĠ Ġ@ Column Info Ġ@ PrimaryKey Ġvar Ġid : ĠString Ġ= Ġ"", ĊĠĠĠ Ġ@ Column Info Ġvar Ġname : ĠString Ġ= Ġ"", ĊĠĠĠ Ġ@ Column Info Ġvar Ġscreen Name : ĠString Ġ= Ġ"", ĊĠĠĠ Ġ@ Column Info Ġvar Ġpublic ImageUrl : ĠString Ġ= Ġ"" Ċ ) Ġ: ĠParcel able Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Json ( jsonObject : ĠJSONObject ): ĠUser Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠUser () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser . id Ġ= ĠjsonObject . getString (" id ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser . name Ġ= ĠjsonObject . getString (" name ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser . screen Name Ġ= ĠjsonObject . getString (" screen _ name ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser . public ImageUrl Ġ= ĠjsonObject . getString (" profile _ image _ url _ https ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġuser ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġfrom JsonArray ( json Array : ĠJSONArray ): ĠList < User > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġusers Ġ= ĠArrayList < User >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġjson Array . length ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠjsonObject : ĠJSONObject Ġ= Ġjson Array . getJSONObject ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusers . add ( User . fromJson ( jsonObject . getJSONObject (" user "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġusers ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }