package Ġcom . hk . go ffer . ui . activity Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . view . Window Ċ import Ġandroid . widget . Array Adapter Ċ import Ġandroid . widget . Button Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . reflect . Type Token Ċ import Ġcom . hk . go ffer . AppConfig Ċ import Ġcom . hk . go ffer . MainActivity Ċ import Ġcom . hk . go ffer . R Ċ import Ġcom . hk . go ffer . models . School Ċ import Ġcom . hk . go ffer . utils . Graphic Utils Ċ import Ġkotlinx . android . synt hetic . main . activity _ sch ools .* Ċ import Ġorg . jetbrains . ank o .* Ċ import Ġjava . net . URL Ċ Ċ class ĠSch ools Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġval ĠRESULT _ CODE Ġ= Ġ 1 ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġrequest Window Feature ( Window . FEATURE _ CONTENT _ TRANS ITION S ) Ċ // ĠĠĠĠĠĠĠ Ġval Ġslide Ġ= ĠSlide () Ċ // ĠĠĠĠĠĠĠ Ġslide . interpol ator Ġ= ĠDec el erate Interpolator () Ċ // ĠĠĠĠĠĠĠ Ġslide . duration Ġ= Ġ 1 0 0 0 Ċ // ĠĠĠĠĠĠĠ Ġwindow . enter Transition Ġ= Ġslide ĊĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ sch ools ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġèİ·åıĸ åŃ¦ æł¡ åĪĹè¡¨ ĊĠĠĠĠĠĠĠ Ġdo Async Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Str Ġ= ĠURL ( AppConfig . sch ools Url ). read Text ( Charsets . UTF _ 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsch ools Ġ= ĠGson (). fromJson < Mutable List < School >>( json Str , Ġobject Ġ: ĠType Token < Mutable List < School >>() Ġ{} . type ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgv _ sch ools . adapter Ġ= ĠSchool Gv Adapter ( sch ools ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠSchool Gv Adapter ( val Ġsch ools : ĠMutable List < School >) Ġ: ĠArray Adapter < School >( ctx , Ġ 0 , Ġsch ools ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget View ( position : ĠInt , ĠconvertView : ĠView ?, Ġparent : ĠViewGroup ?): ĠView Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview : ĠView ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbtn : ĠButton ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( convert View Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Ġ= Ġlayout Inflater . inflate ( R . layout . grid _ school _ item , null , false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Ġ= Ġview . find ( R . id . btn _ school ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . tag Ġ= Ġbtn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Ġ= ĠconvertView ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Ġ= ĠconvertView . tag Ġas ĠButton ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn . background Drawable Ġ= ĠGraph ic Utils . getC ircle Drawable ( ctx ," ", 4 0 , 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn . text Ġ= Ġsch ools [ position ]. name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn . onClick Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Result ( RESULT _ CODE , intent For < MainActivity >(" school _ id " Ġto Ġsch ools [ position ]._ id ," school _ name " Ġto Ġsch ools [ position ]. name )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ