package Ġco . mar cell ino . github user app . utils Ċ Ċ import Ġandroid . content . Context Ċ import Ġco . mar cell ino . github user app . model . User Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . reflect . Type Token Ċ import Ġjava . io . IOException Ċ Ċ object ĠUser DataReader Ġ{ ĊĊĠĠĠ Ġfun ĠgetUser List ( context : ĠContext , Ġjson Resource ID : ĠInt ): ĠArrayList < User > Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġlist User Ġ= Ġarray ListOf < User >() ĊĊĠĠĠĠĠĠĠ Ġval Ġjson String : ĠString ? Ġ= Ġget Json String ( context , Ġjson Resource ID ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! json String . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgson Ġ= ĠGson () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarray ListType Ġ= Ġobject Ġ: ĠType Token < ArrayList < User >>() Ġ{} . type ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist User Ġ= Ġgson . fromJson ( json String , Ġarray ListType ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġlist User ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Json String ( context : ĠContext , Ġjson Resource ID : ĠInt ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġjson String : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson String Ġ= Ġcontext . resources . open Raw Resource ( json Resource ID ). buffered Reader () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. use Ġ{ Ġit . read Text () Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( io Exception : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġio Exception . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġjson String ĊĠĠĠ Ġ} Ċ }