package Ġdev . mar cos f ari as . poke dex . ui . dashboard Ċ Ċ import Ġandroid . graphics . Port er D uff Ċ import Ġandroid . graphics . Port er D uff Color Filter Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġdev . mar cos f ari as . poke dex . R Ċ import Ġdev . mar cos f ari as . poke dex . adapter . ViewPager Adapter Ċ import Ġdev . mar cos f ari as . poke dex . ui . dashboard . about . About Fragment Ċ import Ġdev . mar cos f ari as . poke dex . ui . dashboard . e volution . E volution Fragment Ċ import Ġdev . mar cos f ari as . poke dex . ui . dashboard . moves . Moves Fragment Ċ import Ġdev . mar cos f ari as . poke dex . ui . dashboard . stats . Stats Fragment Ċ import Ġdev . mar cos f ari as . poke dex . utils . Pokemon Color Util Ċ import Ġkotlinx . android . synt hetic . main . fragment _ dashboard . view .* Ċ Ċ class ĠDashboard Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdashboard ViewModel : ĠDashboard ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ? Ġ) Ġ: ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġdashboard ViewModel Ġ= ĠViewModel Providers . of ( this ). get ( Dashboard ViewModel :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= Ġinflater . inflate ( R . layout . fragment _ dashboard , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġarguments ?. getString (" id "). let Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdashboard ViewModel . get Pokemon ById ( it ). observe ( this , ĠObserver Ġ{ Ġlist Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist ?. get ( 0 ). let Ġ{ Ġpokemon Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot . textView ID . text Ġ= Ġpokemon ?. id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot . textView Name . text Ġ= Ġpokemon ?. name ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolor Ġ= ĠPokemon Color Util ( root . context ). get Pokemon Color ( pokemon ?. typeof pokemon ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot . app _ bar . background . color Filter Ġ= ĠPort er D uff Color Filter ( color , ĠPort er D uff . Mode . SRC _ AT OP Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot . toolbar _ layout . content S cri m ?. color Filter Ġ= ĠPort er D uff Color Filter ( color , ĠPort er D uff . Mode . SRC _ AT OP Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ?. window ?. status Bar Color Ġ= ĠPokemon Color Util ( root . context ). get Pokemon Color ( pokemon ?. typeof pokemon ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpokemon ?. typeof pokemon ?. elementAt OrNull ( 0 ). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot . text ViewType 3 . text Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot . text ViewType 3 . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpokemon ?. typeof pokemon ?. elementAt OrNull ( 1 ). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot . text ViewType 2 . text Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot . text ViewType 2 . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpokemon ?. typeof pokemon ?. elementAt OrNull ( 2 ). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot . text ViewType 1 . text Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot . text ViewType 1 . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( root . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( pokemon ?. image url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( android . R . color . transparent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( root . imageView ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpager Ġ= Ġroot . view Pager ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtabs Ġ= Ġroot . tabs ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠView Pager Adapter ( fragment Manager !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Fragment ( About Fragment . newInstance ( pokemon ?. id ), ĠgetString ( R . string . dashboard _ tab _ 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Fragment ( Stats Fragment . newInstance ( pokemon ?. id ), ĠgetString ( R . string . dashboard _ tab _ 2 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Fragment ( E volution Fragment (), ĠgetString ( R . string . dashboard _ tab _ 3 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Fragment ( Moves Fragment (), ĠgetString ( R . string . dashboard _ tab _ 4 )) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpager . adapter Ġ= Ġadapter ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtabs . setup With ViewPager ( pager ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġreturn Ġroot ĊĠĠĠ Ġ} ĊĊĊ Ċ }