package Ġru . ale shi . let sp lay cities . ui . game Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Bitmap Factory Ċ import Ġru . ale shi . let sp lay cities . R Ċ import Ġjava . io . IOException Ċ import Ġkotlin . math . round ToInt ĊĊ Ċ object ĠFlag Draw ables Manager Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġflag Draw ables : ĠMutable Map < String , ĠBitmap > Ġ= Ġmutable Map Of () ĊĊĠĠĠ Ġfun Ġget Bitmap For ( context : ĠContext , Ġcountry Code : ĠShort ): ĠBitmap ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġimg Name Ġ= Ġ" flags / flag _$ country Code . png " ĊĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ(! flag Draw ables . containsKey ( img Name )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġload Bitmap From Assets ( context , Ġimg Name )?. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflag Draw ables [ img Name ] Ġ= Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflag Draw ables [ img Name ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġload Bitmap From Assets ( ctx : ĠContext , Ġpath : ĠString ): ĠBitmap ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwidth Ġ= Ġctx . resources . get Dimension ( R . dim en . flag Img Width ). round ToInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġheight Ġ= Ġctx . resources . get Dimension ( R . dim en . flag Img Height ). round ToInt () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBitmap . create Scaled Bitmap ( Bitmap Factory . decode Stream ( ctx . assets . open ( path )), Ġwidth , Ġheight , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }