package Ġme . vid ro x . safe gist ics . adapters . recyclerview Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġco il . api . load Ċ import Ġkotlinx . android . synt hetic . main . warnings _ card . view .* Ċ import Ġme . vid ro x . safe gist ics . R Ċ import Ġme . vid ro x . safe gist ics . listeners . recyclerview . Constants Ċ import Ġme . vid ro x . safe gist ics . listeners . recyclerview . RecyclerView ItemClickListener Ċ import Ġme . vid ro x . safe gist ics . warnings . Warnings Query Ċ import Ġorg . joda . time . LocalDateTime Ċ import Ġjava . util .* Ċ import Ġkotlin . collections . ArrayList Ċ import Ġkotlin . collections . HashMap Ċ Ċ class ĠWarning s RecyclerView Adapter ( ĊĠĠĠ Ġvar Ġwarnings : ĠArrayList < Warnings Query . Node ? >, ĊĠĠĠ Ġvar Ġadditional Data : ĠHashMap < Warnings Query . Node , ĠHashMap < String , ĠAny >>, ĊĠĠĠ Ġvar Ġlocale : ĠLocale Ċ ) Ġ: ĠRecyclerView . Adapter < Warnings RecyclerView Adapter . Warnings ViewHolder >() Ġ{ ĊĊĠĠĠ Ġvar Ġitem ClickListener : ĠRecyclerView ItemClickListener < Warnings Query . Node >? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġupdate Data ( ĊĠĠĠĠĠĠĠ Ġnew Warnings : ĠList < Warnings Query . Node >, ĊĠĠĠĠĠĠĠ Ġnew Additional Data : ĠHashMap < Warnings Query . Node , ĠHashMap < String , ĠAny >>, ĊĠĠĠĠĠĠĠ Ġclear Items : ĠBoolean ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( clear Items ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwarnings . clear () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadditional Data . clear () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwarnings . addAll ( new Warnings ) ĊĠĠĠĠĠĠĠ Ġadditional Data Ġ= Ġnew Additional Data ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġwarnings . clear () ĊĠĠĠĠĠĠĠ Ġadditional Data . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠWarning s ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . warnings _ card , Ġparent , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠWarning s ViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġwarnings . size ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠWarning s ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġwarnings Map Ġ= Ġadditional Data [ warnings [ position ]] ĊĠĠĠĠĠĠĠ Ġvar Ġicon Ġ= ĠR . drawable . ic _ warning ĊĠĠĠĠĠĠĠ Ġvar Ġtype Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġif Ġ( warnings Map Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= Ġwarnings Map [" icon "] Ġas ? ĠInt Ġ?: ĠR . drawable . ic _ warning ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġwarnings Map [" type "] Ġas ? ĠString Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġholder . bind ( warnings [ position ] !! , Ġicon , Ġtype , Ġitem ClickListener , Ġlocale ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( warnings [ position ] Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConstants . VIEW _ TYPE _ LOADING ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConstants . VIEW _ TYPE _ ITEM ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠWarning s ViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġwarnings Date Ġ= Ġview . warnings _ date ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġwarnings FullName Ġ= Ġview . warnings _ full _ name ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġwarnings Type Ġ= Ġview . warnings _ type ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġwarnings Severity Ġ= Ġview . warnings _ status ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwarning : ĠWarning s Query . Node , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem ClickListener : ĠRecyclerView ItemClickListener < Warnings Query . Node > ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocale : ĠLocale ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdriver Ġ= Ġwarning . device ()?. driver () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdate Ġ= Ġif Ġ( locale . language Ġ== Ġ" en ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDateTime ( warning . date Iss ued ()). toString (" MM / dd / YYYY ĠHH : mm ", Ġlocale ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDateTime ( warning . date Iss ued ()). toString (" dd . MM . YYYY ĠHH : mm ", Ġlocale ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwarnings Date . text Ġ= Ġdate ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! driver ?. firstName (). isNull OrEmpty () Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! driver ?. lastName (). isNull OrEmpty () Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! driver ?. pat ronym ic (). isNull OrEmpty ()) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwarnings FullName . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ driver ?. firstName ()} Ġ${ driver ?. lastName ()} Ġ${ driver ?. pat ronym ic () }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwarnings FullName . text Ġ= Ġ"-" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwarnings Type . text Ġ= Ġtype ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwarnings Severity . load ( icon ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . setOnClickListener Ġ{ Ġitem ClickListener ?. onClick ( warning ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem ClickListener ?. on Long Click ( it , Ġwarning ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }