package Ġorg . git t ner . osm bugs . keep right Ċ Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . fragment . app . Dialog Fragment Ċ import Ġorg . git t ner . osm bugs . R Ċ import Ġorg . git t ner . osm bugs . static s . Settings Ċ import Ġorg . git t ner . osm bugs . ui . Enabled Errors Adapter Ċ Ċ /** Ċ Ġ* ĠDialog Ġthat Ġdisplays Ġa ĠList Ġof Ġall Ġavailable ĠKeep right ĠError ĠTypes , Ġand Ġlets Ġthe ĠUser Ġselect Ġor Ġde select Ġeach ĠType Ċ Ġ* ĠThe Ġfirst Ġtwo ĠItems Ġare ĠIgnore d Ġand ĠT mp Ignored Ċ Ġ*/ Ċ class ĠKeep right Select Errors Dialog Ġ: ĠDialog Fragment () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġm Settings Ġ= ĠSettings . getInstance () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Dialog ( savedInstanceState : ĠBundle ?): ĠDialog Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġactivity ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠEnabled Errors Adapter < Keep right Error . ERROR _ TYPE >( it ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAdd ĠIgnore d Ġand ĠTemporary Ġignored ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add ( Enabled Errors Adapter . Data ( null , Ġm Settings . Keep right . Show Ignored , ĠR . string . show _ ignored , ĠKeep right Error . Ic Z ap Ignored )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add ( Enabled Errors Adapter . Data ( null , Ġm Settings . Keep right . Show Tmp Ignored , ĠR . string . show _ temporary _ ignored , ĠKeep right Error . Ic Z ap Tmp Ignored )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAdd Ġall ĠKeep right ĠError ĠTypes ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKeep right Error . ERROR _ TYPE . values (). forEach Ġ{ Ġerror Type Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEnabled Errors Adapter . Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Settings . Keep right . GetType Enabled ( error Type ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Type . Description Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Type . Icon ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdialog Ġ= ĠAlertDialog ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. Builder ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAdapter ( adapter ) Ġ{ Ġ_, Ġ_ Ġ-> Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( R . string . done ) Ġ{ Ġdialog , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSet ĠIgnore d Ġand ĠT mp ĠIgnore d . ĠThese Ġare Ġalways Ġthe Ġfirst Ġtwo Ġitems ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Settings . Keep right . Show Ignored Ġ= Ġadapter . getItem ( 0 ) !!. State ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Settings . Keep right . Show Tmp Ignored Ġ= Ġadapter . getItem ( 1 ) !!. State ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠGo Ġthrough Ġeach Ġitem Ġand Ġenable Ġor Ġdisable Ġit Ġin Ġthe ĠSettings Ġdepending Ġon Ġthe Ġchosen Ġstate ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 2 Ġuntil Ġadapter . count ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġadapter . getItem ( i ) !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item . Ref Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Settings . Keep right . Set Type Enabled ( item . Ref , Ġitem . State ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog ĊĠĠĠĠĠĠĠ Ġ} !! ĊĠĠĠ Ġ} Ċ }