package Ġcom . so v ize . ul trac op . views . activities Ċ Ċ import Ġ` in `. good i eb ag . car ouse lp icker . Carousel Picker Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . google . android . material . app bar . Col lap sing Toolbar Layout Ċ import Ġcom . so v ize . ul trac op . R Ċ import Ġcom . so v ize . ul trac op . control ers . network . Gl ider Ċ import Ġcom . so v ize . ul trac op . models . Acc ident Report Ċ import Ġcom . so v ize . ul trac op . models . User Ċ import Ġcom . so v ize . ul trac op . utilities . App Key Ċ import Ġcom . so v ize . ul trac op . utilities . Server Info Ċ import Ġcom . so v ize . ul trac op . views . fragments . Report Admin Fragment Ċ import Ġcom . so v ize . ul trac op . views . fragments . Report Detail Fragment ĊĊ Ċ class ĠReport Detail Ġ: ĠAppCompatActivity () Ġ{ ĊĊĊĠĠĠ Ġprivate Ġvar Ġreport Ġ= ĠAcc ident Report () ĊĠĠĠ Ġprivate Ġvar Ġc User Ġ= ĠUser () ĊĠĠĠ Ġprivate Ġval Ġcarousel : ĠCar ousel Picker ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġitems Images : ĠArrayList < Carousel Picker . Picker Item >? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġviewer Fragment : ĠReport Detail Fragment ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġadmin Fragment : ĠReport Admin Fragment ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ detail _ report ) ĊĊĠĠĠĠĠĠĠ Ġintent ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreport Ġ= Ġit . extras ?. get Parcelable ( App Key . report Info ) Ġ?: ĠAcc ident Report () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc User Ġ= Ġit . extras ?. get Parcelable ( App Key . user parcel ) Ġ?: ĠUser () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠsavedInstanceState ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreport Ġ= Ġit . get Parcelable (" KEY ") Ġ?: ĠAcc ident Report () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc User Ġ= Ġit . get Parcelable ( App Key . user parcel ) Ġ?: ĠUser () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcarousel ?. findViewById < Carousel Picker >( R . id . rv _ report _ photos ) ĊĠĠĠĠĠĠĠ Ġitems Images ?. add ( Carousel Picker . Drawable Item ( R . drawable . ic _ launcher _ background )) ĊĠĠĠĠĠĠĠ Ġitems Images ?. add ( Carousel Picker . Drawable Item ( R . drawable . ic _ launcher _ background )) ĊĠĠĠĠĠĠĠ Ġitems Images ?. add ( Carousel Picker . Drawable Item ( R . drawable . ic _ launcher _ background )) ĊĊĠĠĠĠĠĠĠ ĠfindViewById < ImageView >( R . id . app _ bar _ report _ image _ viewer )?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( report . pictures . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGl ider . load ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ Server Info . base URL }${ report . pictures [ 0 ] }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġarray Se v Ġ= Ġresources . getString Array ( R . array . severity ) ĊĠĠĠĠĠĠĠ Ġval Ġarray Person T Ġ= Ġresources . getString Array ( R . array . oc up p ation ) ĊĠĠĠĠĠĠĠ Ġval Ġseverity String Ġ= Ġwhen Ġ( report . severity Level ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġarray Se v [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġarray Se v [ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġarray Se v [ 2 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ" N / A " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġse v Ġ= Ġ"${ resources . getString ( R . string . severity )} : Ġ$ severity String " ĊĠĠĠĠĠĠĠ Ġval Ġperson TypeString Ġ= Ġwhen Ġ( report . person Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġarray Person T [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġarray Person T [ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġarray Person T [ 2 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ" N / A " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠfindViewById < TextView >( R . id . app _ bar _ rating _ danger _ viewer ). text Ġ= Ġse v ĊĠĠĠĠĠĠĠ ĠfindViewById < Col lap sing Toolbar Layout >( R . id . coll ap sing _ report _ name ). title Ġ= Ġperson TypeString ĊĊĠĠĠĠĠĠĠ Ġif Ġ( c User . permission . contains (" g ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadmin Fragment Ġ= ĠReport Admin Fragment . newInstance ( report ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport FragmentManager . beginTransaction (). replace ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . fragment _ holder , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadmin Fragment ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). commit () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġviewer Fragment Ġ= ĠReport Detail Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġviewer Fragment . report Ġ= Ġreport ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport FragmentManager . beginTransaction (). replace ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . fragment _ holder , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġviewer Fragment ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). commit () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Save InstanceState ( out State : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Save InstanceState ( out State ) ĊĠĠĠĠĠĠĠ Ġout State . put Parcelable (" KEY ", Ġreport ) ĊĠĠĠĠĠĠĠ Ġout State . put Parcelable ( App Key . user parcel , Ġc User ) ĊĠĠĠ Ġ} Ċ Ċ }