import Ġandroid . os . Bundle Ċ import Ġandroid . text . Html Ċ import Ġandroid . text . method . Link Movement Method Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . core . content . res . Resources Compat Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġcom . google . android . material . chip . Chip Ċ import Ġcom . google . android . material . chip . Chip Group Ċ import Ġde . dr to bias pr in z . sum mit book . MainActivity Ċ import Ġde . dr to bias pr in z . sum mit book . R Ċ import Ġde . dr to bias pr in z . sum mit book . Select On Os Map Activity Ċ import Ġde . dr to bias pr in z . sum mit book . database . App Database Ċ import Ġde . dr to bias pr in z . sum mit book . models . Gar min Data Ċ import Ġde . dr to bias pr in z . sum mit book . models . Sum mit Ċ import Ġde . dr to bias pr in z . sum mit book . ui . Page ViewModel Ċ import Ġde . dr to bias pr in z . sum mit book . ui . utils . Ext re ma Values Sum mit s Ċ import Ġjava . util .* Ċ import Ġjava . util . concurrent . TimeUnit Ċ import Ġkotlin . math . ceil Ċ import Ġkotlin . math . floor ĊĊ Ċ class ĠSum mit Entry Data Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġpage ViewModel : ĠPage ViewModel ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġdatabase : ĠApp Database ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġroot : ĠView ĊĠĠĠ Ġprivate Ġvar Ġsum mit Entry : ĠSum mit ? Ġ= Ġnull ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġpage ViewModel Ġ= ĠViewModel Providers . of ( this ). get ( Page ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġpage ViewModel ?. set Index ( TAG ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ?, ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġroot Ġ= Ġinflater . inflate ( R . layout . fragment _ sum mit _ entry _ data , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġdatabase Ġ= Ġcontext ?. let Ġ{ ĠApp Database . get Database ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( sum mit Entry Ġ== Ġnull Ġ&& ĠsavedInstanceState Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsum mit Entry Id Ġ= ĠsavedInstanceState . getLong ( Select On Os Map Activity . SUM MIT _ ID _ EXTRA _ IDENTIFIER ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( sum mit Entry Id Ġ!= Ġ 0 L ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsum mit Entry Ġ= Ġdatabase ?. sum mit Dao ()?. get Sum mit ( sum mit Entry Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġlocal Sum mit Ġ= Ġsum mit Entry ĊĠĠĠĠĠĠĠ Ġif Ġ( local Sum mit Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġext re ma Ġ= ĠMainActivity . ext re ma Values All Sum mit s ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠtextView Date Ġ= Ġroot . findViewById < TextView >( R . id . tour _ date ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Date . text Ġ= Ġlocal Sum mit . getDate AsString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠtextView Name Ġ= Ġroot . findViewById < TextView >( R . id . sum mit _ name ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Name . text Ġ= Ġlocal Sum mit . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠimageView Sport Type Ġ= Ġroot . findViewById < ImageView >( R . id . sport _ type _ image ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠimageView Sport Type . setImage Resource ( local Sum mit . sport Type . image Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( local Sum mit . elevation Data . elevation Gain , Ġ" hm ", Ġroot . findViewById ( R . id . height _ meter Text ), Ġroot . findViewById ( R . id . height _ meter ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. height Met ers MinMax ?. first ?. elevation Data ?. elevation Gain ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 , Ġext re ma ?. height Met ers MinMax ?. second ?. elevation Data ?. elevation Gain ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( local Sum mit . ki lo meters , Ġ" km ", Ġroot . findViewById ( R . id . ki lo meters Text ), Ġroot . findViewById ( R . id . ki lo meters ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( floor ( ext re ma ?. ki lo meters MinMax ?. first ?. ki lo meters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt (), Ġceil ( ext re ma ?. ki lo meters MinMax ?. second ?. ki lo meters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( local Sum mit . elevation Data . max Elevation , Ġ" hm ", Ġroot . findViewById ( R . id . top _ elevation Text ), Ġroot . findViewById ( R . id . top _ elevation ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. top Elevation MinMax ?. first ?. elevation Data ?. max Elevation ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 , Ġext re ma ?. top Elevation MinMax ?. second ?. elevation Data ?. max Elevation ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( local Sum mit . elevation Data . max Vertical Velocity 1 Min , Ġ" m ", Ġroot . findViewById ( R . id . top _ vertical Velocity 1 Min Text ), Ġroot . findViewById ( R . id . top _ vertical Velocity 1 Min ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. top Vertical Velocity 1 Min MinMax ?. first ?. elevation Data ?. max Vertical Velocity 1 Min ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 , Ġext re ma ?. top Vertical Velocity 1 Min MinMax ?. second ?. elevation Data ?. max Vertical Velocity 1 Min ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ), Ġfactor Ġ= Ġ 6 0 , Ġdigits Ġ= Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( local Sum mit . elevation Data . max Vertical Velocity 1 0 Min , Ġ" m ", Ġroot . findViewById ( R . id . top _ vertical Velocity 1 0 Min Text ), Ġroot . findViewById ( R . id . top _ vertical Velocity 1 0 Min ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. top Vertical Velocity 1 0 Min MinMax ?. first ?. elevation Data ?. max Vertical Velocity 1 0 Min ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 , Ġext re ma ?. top Vertical Velocity 1 0 Min MinMax ?. second ?. elevation Data ?. max Vertical Velocity 1 0 Min ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ), Ġfactor Ġ= Ġ 6 0 0 , Ġdigits Ġ= Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( local Sum mit . elevation Data . max Vertical Velocity 1 h , Ġ" m ", Ġroot . findViewById ( R . id . top _ vertical Velocity 1 h Text ), Ġroot . findViewById ( R . id . top _ vertical Velocity 1 h ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. top Vertical Velocity 1 h MinMax ?. first ?. elevation Data ?. max Vertical Velocity 1 h ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 , Ġext re ma ?. top Vertical Velocity 1 h MinMax ?. second ?. elevation Data ?. max Vertical Velocity 1 h ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ), Ġfactor Ġ= Ġ 3 6 0 0 , Ġdigits Ġ= Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( local Sum mit . elevation Data . max S lope , Ġ"% ", Ġroot . findViewById ( R . id . top _ slope Text ), Ġroot . findViewById ( R . id . top _ slope ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. top S lope MinMax ?. first ?. elevation Data ?. max S lope ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 , Ġext re ma ?. top S lope MinMax ?. second ?. elevation Data ?. max S lope ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( local Sum mit . velocity Data . avg Velocity , Ġ" km / h ", Ġroot . findViewById ( R . id . pace Text ), Ġroot . findViewById ( R . id . pace ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( floor ( ext re ma ?. average Speed MinMax ?. first ?. velocity Data ?. avg Velocity ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt (), Ġceil ( ext re ma ?. average Speed MinMax ?. second ?. velocity Data ?. avg Velocity ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( local Sum mit . velocity Data . max Velocity , Ġ" km / h ", Ġroot . findViewById ( R . id . top _ speed Text ), Ġroot . findViewById ( R . id . top _ speed ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( floor ( ext re ma ?. top Speed MinMax ?. first ?. velocity Data ?. max Velocity ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt (), Ġceil ( ext re ma ?. top Speed MinMax ?. second ?. velocity Data ?. max Velocity ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt ())) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Additional Speed Data ( local Sum mit , Ġext re ma ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexpand More Speed Data : ĠTextView Ġ= Ġroot . findViewById ( R . id . expand _ more _ speed _ data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( local Sum mit . velocity Data . has Additional Data ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand More Speed Data . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand More Speed Data . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( expand More Speed Data . text Ġ== ĠgetString ( R . string . more _ speed )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand More Speed Data . text Ġ= ĠgetString ( R . string . less _ speed ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand More Speed Data . set Compound Draw ables With Intr insic Bounds ( R . drawable . ic _ baseline _ expand _ less _ 2 4 , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Additional Speed Data ( local Sum mit , Ġext re ma , ĠView . VISIBLE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand More Speed Data . text Ġ= ĠgetString ( R . string . more _ speed ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand More Speed Data . set Compound Draw ables With Intr insic Bounds ( R . drawable . ic _ baseline _ expand _ more _ 2 4 , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 1 sec ). visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Additional Speed Data ( local Sum mit , Ġext re ma ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand More Speed Data . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( local Sum mit . duration , Ġ" h ", Ġroot . findViewById ( R . id . duration Text ), Ġroot . findViewById ( R . id . duration ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( floor ( ext re ma ?. duration MinMax ?. first ?. duration ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt (), Ġceil ( ext re ma ?. duration MinMax ?. second ?. duration ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt ()), Ġto HH ms Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( local Sum mit . comments , Ġroot . findViewById ( R . id . comments ), Ġroot . findViewById ( R . id . comments )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase ?. let Ġ{ Ġset Chips Text ( R . id . places , Ġlocal Sum mit . get Places With Connected Entry String ( require Context (), Ġit ), ĠR . drawable . ic _ place _ black _ 2 4 dp ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Chips Text ( R . id . countries , Ġlocal Sum mit . countries , ĠR . drawable . ic _ baseline _ flag _ 2 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Chips Text ( R . id . participants , Ġlocal Sum mit . participants , ĠR . drawable . ic _ baseline _ people _ 2 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgar min Data Ġ= Ġlocal Sum mit . gar min Data ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexpand More Power Data : ĠTextView Ġ= Ġroot . findViewById ( R . id . expand _ more _ power _ data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( gar min Data Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠtextView Ġ= Ġroot . findViewById ( R . id . link ) Ġas ĠTextView ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . is Clickable Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . movement Method Ġ= ĠLink Movement Method . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġ"< a Ġhref =\" ${ gar min Data . url }\ ">${ require Context (). getString ( R . string . sensor _ data )}</ a >" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . text Ġ= ĠHtml . from Html ( text , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot . findViewById < View >( R . id . gar min Data ). visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( gar min Data . average HR . toInt (), Ġ" bpm ", Ġroot . findViewById ( R . id . average Hr Text ), Ġroot . findViewById ( R . id . average Hr ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. average HR MinMax ?. first ?. gar min Data ?. average HR ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 f , Ġext re ma ?. average HR MinMax ?. second ?. gar min Data ?. average HR ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 f ), Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( gar min Data . max HR . toInt (), Ġ" bpm ", Ġroot . findViewById ( R . id . max Hr Text ), Ġroot . findViewById ( R . id . max Hr ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. max HR MinMax ?. first ?. gar min Data ?. max HR ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 f , Ġext re ma ?. max HR MinMax ?. second ?. gar min Data ?. max HR Ġ?: Ġ 0 f ), Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( gar min Data . power . max Power . toInt (), Ġ" W ", Ġroot . findViewById ( R . id . max Power Text ), Ġroot . findViewById ( R . id . max Power ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. max Power MinMax ?. first ?. gar min Data ?. power ?. max Power ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 f , Ġext re ma ?. max Power MinMax ?. second ?. gar min Data ?. power ?. max Power ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 f )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( gar min Data . cal ories . toInt (), Ġ" k cal ", Ġroot . findViewById ( R . id . cal ories Text ), Ġroot . findViewById ( R . id . cal ories ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. cal ories MinMax ?. first ?. gar min Data ?. cal ories ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 f , Ġext re ma ?. cal ories MinMax ?. second ?. gar min Data ?. cal ories Ġ?: Ġ 0 f )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( gar min Data . power . avg Power . toInt (), Ġ" W ", Ġroot . findViewById ( R . id . average Power Text ), Ġroot . findViewById ( R . id . average Power ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. average Power MinMax ?. first ?. gar min Data ?. power ?. avg Power ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 f , Ġext re ma ?. average Power MinMax ?. second ?. gar min Data ?. power ?. avg Power ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 f )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( gar min Data . power . norm Power . toInt (), Ġ" W ", Ġroot . findViewById ( R . id . norm Power Text ), Ġroot . findViewById ( R . id . norm Power ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. norm Power MinMax ?. first ?. gar min Data ?. power ?. norm Power ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 f , Ġext re ma ?. norm Power MinMax ?. second ?. gar min Data ?. power ?. norm Power ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 f )) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Additional Power Data ( gar min Data , Ġext re ma ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( local Sum mit . gar min Data ?. power ?. one Sec Ġ!= Ġnull Ġ&& Ġ( local Sum mit . gar min Data ?. power ?. one Sec ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 ) Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand More Power Data . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand More Power Data . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( expand More Power Data . text Ġ== ĠgetString ( R . string . more _ power )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand More Power Data . text Ġ= ĠgetString ( R . string . less _ power ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand More Power Data . set Compound Draw ables With Intr insic Bounds ( R . drawable . ic _ baseline _ expand _ less _ 2 4 , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Additional Power Data ( gar min Data , Ġext re ma , ĠView . VISIBLE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand More Power Data . text Ġ= ĠgetString ( R . string . more _ power ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand More Power Data . set Compound Draw ables With Intr insic Bounds ( R . drawable . ic _ baseline _ expand _ more _ 2 4 , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 1 sec ). visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Additional Power Data ( gar min Data , Ġext re ma ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand More Power Data . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( gar min Data . aer ob ic Training Effect . toDouble (), Ġ"", Ġroot . findViewById ( R . id . aer ob ic Training Effect Text ), Ġroot . findViewById ( R . id . aer ob ic Training Effect ), ĠPair ( 0 , Ġ 5 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( gar min Data . ana er ob ic Training Effect . toDouble (), Ġ"", Ġroot . findViewById ( R . id . ana er ob ic Training Effect Text ), Ġroot . findViewById ( R . id . ana er ob ic Training Effect ), ĠPair ( 0 , Ġ 5 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( gar min Data . gr it . toDouble (), Ġ"", Ġroot . findViewById ( R . id . gr it Text ), Ġroot . findViewById ( R . id . gr it ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. gr it MinMax ?. first ?. gar min Data ?. gr it ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 f , Ġext re ma ?. gr it MinMax ?. second ?. gar min Data ?. gr it Ġ?: Ġ 0 f )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( gar min Data . flow . toDouble (), Ġ"", Ġroot . findViewById ( R . id . flow Text ), Ġroot . findViewById ( R . id . flow ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. flow MinMax ?. first ?. gar min Data ?. flow ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 f , Ġext re ma ?. flow MinMax ?. second ?. gar min Data ?. flow Ġ?: Ġ 0 f )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( gar min Data . training Load . toDouble (), Ġ"", Ġroot . findViewById ( R . id . training Load Text ), Ġroot . findViewById ( R . id . training Load ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. train ings Load MinMax ?. first ?. gar min Data ?. training Load ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 f , Ġext re ma ?. train ings Load MinMax ?. second ?. gar min Data ?. training Load ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 f )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( gar min Data . vo 2 max . toDouble (), Ġ"", Ġroot . findViewById ( R . id . vo 2 Max Text ), Ġroot . findViewById ( R . id . vo 2 Max ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. vo 2 max MinMax ?. first ?. gar min Data ?. vo 2 max ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 , Ġext re ma ?. vo 2 max MinMax ?. second ?. gar min Data ?. vo 2 max Ġ?: Ġ 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( gar min Data . ftp . toDouble (), Ġ"", Ġroot . findViewById ( R . id . FTP Text ), Ġroot . findViewById ( R . id . FTP ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. ftp MinMax ?. first ?. gar min Data ?. ftp ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 , Ġext re ma ?. ftp MinMax ?. second ?. gar min Data ?. ftp Ġ?: Ġ 0 )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot . findViewById < View >( R . id . gar min Data ). visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand More Power Data . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġroot ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Additional Speed Data ( local Sum mit : ĠSum mit , Ġext re ma : ĠEx tre ma Values Sum mit s ?, Ġvisibility : ĠInt Ġ= ĠView . GONE ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Text ( local Sum mit . velocity Data . one K ilo meter , Ġ" km / h ", Ġroot . findViewById ( R . id . one KM _ top _ speed Text ), Ġroot . findViewById ( R . id . one KM _ top _ speed ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( floor ( ext re ma ?. one Km MinMax ?. first ?. velocity Data ?. one K ilo meter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt (), Ġceil ( ext re ma ?. one Km MinMax ?. second ?. velocity Data ?. five K ilo meter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt ()), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠĠĠĠĠ Ġset Text ( local Sum mit . velocity Data . five K ilo meter , Ġ" km / h ", Ġroot . findViewById ( R . id . five KM _ top _ speed Text ), Ġroot . findViewById ( R . id . five KM _ top _ speed ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( floor ( ext re ma ?. five Km MinMax ?. first ?. velocity Data ?. five K ilo meter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt (), Ġceil ( ext re ma ?. five Km MinMax ?. second ?. velocity Data ?. five K ilo meter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt ()), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠĠĠĠĠ Ġset Text ( local Sum mit . velocity Data . ten K ilo meters , Ġ" km / h ", Ġroot . findViewById ( R . id . ten KM _ top _ speed Text ), Ġroot . findViewById ( R . id . ten KM _ top _ speed ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( floor ( ext re ma ?. ten Km MinMax ?. first ?. velocity Data ?. ten K ilo meters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt (), Ġceil ( ext re ma ?. ten Km MinMax ?. second ?. velocity Data ?. ten K ilo meters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt ()), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠĠĠĠĠ Ġset Text ( local Sum mit . velocity Data . fif teen K ilo meters , Ġ" km / h ", Ġroot . findViewById ( R . id . fif teen KM _ top _ speed Text ), Ġroot . findViewById ( R . id . fif teen KM _ top _ speed ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( floor ( ext re ma ?. fif teen Km MinMax ?. first ?. velocity Data ?. fif teen K ilo meters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt (), Ġceil ( ext re ma ?. fif teen Km MinMax ?. second ?. velocity Data ?. fif teen K ilo meters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt ()), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠĠĠĠĠ Ġset Text ( local Sum mit . velocity Data . tw enty K ilo meters , Ġ" km / h ", Ġroot . findViewById ( R . id . tw enty KM _ top _ speed Text ), Ġroot . findViewById ( R . id . tw enty KM _ top _ speed ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( floor ( ext re ma ?. tw enty Km MinMax ?. first ?. velocity Data ?. tw enty K ilo meters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt (), Ġceil ( ext re ma ?. tw enty Km MinMax ?. second ?. velocity Data ?. tw enty K ilo meters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt ()), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠĠĠĠĠ Ġset Text ( local Sum mit . velocity Data . th irty K ilo meters , Ġ" km / h ", Ġroot . findViewById ( R . id . th irty KM _ top _ speed Text ), Ġroot . findViewById ( R . id . th irty KM _ top _ speed ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( floor ( ext re ma ?. th irty Km MinMax ?. first ?. velocity Data ?. th irty K ilo meters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt (), Ġceil ( ext re ma ?. th irty Km MinMax ?. second ?. velocity Data ?. th irty K ilo meters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt ()), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠĠĠĠĠ Ġset Text ( local Sum mit . velocity Data . fort y K ilo meters , Ġ" km / h ", Ġroot . findViewById ( R . id . four ty KM _ top _ speed Text ), Ġroot . findViewById ( R . id . four ty KM _ top _ speed ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( floor ( ext re ma ?. fort y Km MinMax ?. first ?. velocity Data ?. fort y K ilo meters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt (), Ġceil ( ext re ma ?. fort y Km MinMax ?. second ?. velocity Data ?. fort y K ilo meters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt ()), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠĠĠĠĠ Ġset Text ( local Sum mit . velocity Data . f ifty K ilo meters , Ġ" km / h ", Ġroot . findViewById ( R . id . f ifty KM _ top _ speed Text ), Ġroot . findViewById ( R . id . f ifty KM _ top _ speed ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( floor ( ext re ma ?. f ifty Km MinMax ?. first ?. velocity Data ?. f ifty K ilo meters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt (), Ġceil ( ext re ma ?. f ifty Km MinMax ?. second ?. velocity Data ?. f ifty K ilo meters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt ()), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠĠĠĠĠ Ġset Text ( local Sum mit . velocity Data . se vent y Five K ilo meters , Ġ" km / h ", Ġroot . findViewById ( R . id . se vent y five KM _ top _ speed Text ), Ġroot . findViewById ( R . id . se vent y five KM _ top _ speed ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( floor ( ext re ma ?. se vent y Five Km MinMax ?. first ?. velocity Data ?. se vent y Five K ilo meters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt (), Ġceil ( ext re ma ?. se vent y Five Km MinMax ?. second ?. velocity Data ?. se vent y Five K ilo meters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt ()), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠĠĠĠĠ Ġset Text ( local Sum mit . velocity Data . h undred K ilo meters , Ġ" km / h ", Ġroot . findViewById ( R . id . h und ret KM _ top _ speed Text ), Ġroot . findViewById ( R . id . h und ret KM _ top _ speed ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( floor ( ext re ma ?. h undred Km MinMax ?. first ?. velocity Data ?. h undred K ilo meters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt (), Ġceil ( ext re ma ?. h undred Km MinMax ?. second ?. velocity Data ?. h undred K ilo meters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 . 0 ). toInt ()), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Additional Power Data ( gar min Data : ĠGar min Data , Ġext re ma : ĠEx tre ma Values Sum mit s ?, Ġvisibility : ĠInt Ġ= ĠView . GONE ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Text ( gar min Data . power . one Sec , Ġ" W ", Ġroot . findViewById ( R . id . power 1 sec Text ), Ġroot . findViewById ( R . id . power 1 sec ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. power 1 s MinMax ?. first ?. gar min Data ?. power ?. one Sec ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 , Ġext re ma ?. power 1 s MinMax ?. second ?. gar min Data ?. power ?. one Sec ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 ), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠĠĠĠĠ Ġset Text ( gar min Data . power . two Sec , Ġ" W ", Ġroot . findViewById ( R . id . power 2 sec Text ), Ġroot . findViewById ( R . id . power 2 sec ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. power 2 s MinMax ?. first ?. gar min Data ?. power ?. two Sec ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 , Ġext re ma ?. power 2 s MinMax ?. second ?. gar min Data ?. power ?. two Sec ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 ), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠĠĠĠĠ Ġset Text ( gar min Data . power . five Sec , Ġ" W ", Ġroot . findViewById ( R . id . power 5 sec Text ), Ġroot . findViewById ( R . id . power 5 sec ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. power 5 s MinMax ?. first ?. gar min Data ?. power ?. five Sec ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 , Ġext re ma ?. power 5 s MinMax ?. second ?. gar min Data ?. power ?. five Sec ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 ), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠĠĠĠĠ Ġset Text ( gar min Data . power . ten Sec , Ġ" W ", Ġroot . findViewById ( R . id . power 1 0 sec Text ), Ġroot . findViewById ( R . id . power 1 0 sec ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. power 1 0 s MinMax ?. first ?. gar min Data ?. power ?. ten Sec ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 , Ġext re ma ?. power 1 0 s MinMax ?. second ?. gar min Data ?. power ?. ten Sec ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 ), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠĠĠĠĠ Ġset Text ( gar min Data . power . tw enty Sec , Ġ" W ", Ġroot . findViewById ( R . id . power 2 0 sec Text ), Ġroot . findViewById ( R . id . power 2 0 sec ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. power 2 0 s MinMax ?. first ?. gar min Data ?. power ?. tw enty Sec ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 , Ġext re ma ?. power 2 0 s MinMax ?. second ?. gar min Data ?. power ?. tw enty Sec ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 ), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠĠĠĠĠ Ġset Text ( gar min Data . power . th irty Sec , Ġ" W ", Ġroot . findViewById ( R . id . power 3 0 sec Text ), Ġroot . findViewById ( R . id . power 3 0 sec ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. power 3 0 s MinMax ?. first ?. gar min Data ?. power ?. th irty Sec ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 , Ġext re ma ?. power 3 0 s MinMax ?. second ?. gar min Data ?. power ?. th irty Sec ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 ), Ġvisibility Ġ= Ġvisibility ) ĊĊĠĠĠĠĠĠĠ Ġset Text ( gar min Data . power . one Min , Ġ" W ", Ġroot . findViewById ( R . id . power 1 min Text ), Ġroot . findViewById ( R . id . power 1 min ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. power 1 min MinMax ?. first ?. gar min Data ?. power ?. one Min ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 , Ġext re ma ?. power 1 min MinMax ?. second ?. gar min Data ?. power ?. one Min ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 ), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠĠĠĠĠ Ġset Text ( gar min Data . power . two Min , Ġ" W ", Ġroot . findViewById ( R . id . power 2 min Text ), Ġroot . findViewById ( R . id . power 2 min ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. power 2 min MinMax ?. first ?. gar min Data ?. power ?. two Min ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 , Ġext re ma ?. power 2 min MinMax ?. second ?. gar min Data ?. power ?. two Min ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 ), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠĠĠĠĠ Ġset Text ( gar min Data . power . five Min , Ġ" W ", Ġroot . findViewById ( R . id . power 5 min Text ), Ġroot . findViewById ( R . id . power 5 min ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. power 5 min MinMax ?. first ?. gar min Data ?. power ?. five Min ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 , Ġext re ma ?. power 5 min MinMax ?. second ?. gar min Data ?. power ?. five Min ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 ), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠĠĠĠĠ Ġset Text ( gar min Data . power . ten Min , Ġ" W ", Ġroot . findViewById ( R . id . power 1 0 min Text ), Ġroot . findViewById ( R . id . power 1 0 min ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. power 1 0 min MinMax ?. first ?. gar min Data ?. power ?. ten Min ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 , Ġext re ma ?. power 1 0 min MinMax ?. second ?. gar min Data ?. power ?. ten Min ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 ), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠĠĠĠĠ Ġset Text ( gar min Data . power . tw enty Min , Ġ" W ", Ġroot . findViewById ( R . id . power 2 0 min Text ), Ġroot . findViewById ( R . id . power 2 0 min ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. power 2 0 min MinMax ?. first ?. gar min Data ?. power ?. tw enty Min ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 , Ġext re ma ?. power 2 0 min MinMax ?. second ?. gar min Data ?. power ?. tw enty Min ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 ), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠĠĠĠĠ Ġset Text ( gar min Data . power . th irty Min , Ġ" W ", Ġroot . findViewById ( R . id . power 3 0 min Text ), Ġroot . findViewById ( R . id . power 3 0 min ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. power 3 0 min MinMax ?. first ?. gar min Data ?. power ?. th irty Min ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 , Ġext re ma ?. power 3 0 min MinMax ?. second ?. gar min Data ?. power ?. th irty Min ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 ), Ġvisibility Ġ= Ġvisibility ) ĊĊĠĠĠĠĠĠĠ Ġset Text ( gar min Data . power . one Hour , Ġ" W ", Ġroot . findViewById ( R . id . power 1 h Text ), Ġroot . findViewById ( R . id . power 1 h ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. power 1 h MinMax ?. first ?. gar min Data ?. power ?. one Hour ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 , Ġext re ma ?. power 1 h MinMax ?. second ?. gar min Data ?. power ?. one Hour ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 ), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠĠĠĠĠ Ġset Text ( gar min Data . power . two Hours , Ġ" W ", Ġroot . findViewById ( R . id . power 2 h Text ), Ġroot . findViewById ( R . id . power 2 h ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. power 2 h MinMax ?. first ?. gar min Data ?. power ?. two Hours ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 , Ġext re ma ?. power 2 h MinMax ?. second ?. gar min Data ?. power ?. two Hours ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 ), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠĠĠĠĠ Ġset Text ( gar min Data . power . five Hours , Ġ" W ", Ġroot . findViewById ( R . id . power 5 h Text ), Ġroot . findViewById ( R . id . power 5 h ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( ext re ma ?. power 5 h MinMax ?. first ?. gar min Data ?. power ?. five Hours ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 , Ġext re ma ?. power 5 h MinMax ?. second ?. gar min Data ?. power ?. five Hours ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ 0 ), Ġvisibility Ġ= Ġvisibility ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Text ( text : ĠString , Ġinfo : ĠTextView , ĠtextView : ĠTextView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( text Ġ== Ġ"") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinfo . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinfo . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . text Ġ= Ġtext ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Additional Power Data Visibility ( visibility : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 1 sec ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 1 sec Text ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 2 sec ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 2 sec Text ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 5 sec ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 5 sec Text ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 1 0 sec ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 1 0 sec Text ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 2 0 sec ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 2 0 sec Text ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 3 0 sec ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 3 0 sec Text ). visibility Ġ= Ġvisibility ĊĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 1 min ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 1 min Text ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 2 min ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 2 min Text ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 5 min ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 5 min Text ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 1 0 min ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 1 0 min Text ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 2 0 min ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 2 0 min Text ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 3 0 min ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 3 0 min Text ). visibility Ġ= Ġvisibility ĊĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 1 h ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 1 h Text ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 2 h ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 2 h Text ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 5 h ). visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġroot . findViewById < TextView >( R . id . power 5 h Text ). visibility Ġ= Ġvisibility ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Text ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue : ĠDouble , Ġunit : ĠString , Ġinfo : ĠTextView , ĠtextView : ĠTextView , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmin Max : ĠPair < Number ?, ĠNumber ?> Ġ= ĠPair ( null , Ġnull ), Ġreverse : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto HH ms : ĠBoolean Ġ= Ġfalse , Ġvisibility : ĠInt Ġ= ĠView . VISIBLE , Ġdigits : ĠInt Ġ= Ġ 1 , Ġfactor : ĠInt Ġ= Ġ 1 , ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( value Ġ<= Ġ 0 . 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinfo . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinfo . visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( to HH ms ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue In Ms Ġ= Ġ( value Ġ* Ġ 3 6 0 0 0 0 0 ). to Long () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . text Ġ= ĠString . format ("% 0 2 dh Ġ% 0 2 dm ", ĠTimeUnit . MILLISECONDS . to Hours ( value In Ms ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTimeUnit . MILLISECONDS . to Minutes ( value In Ms ) Ġ% ĠTimeUnit . HOUR S . to Minutes ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . text Ġ= ĠString . format ( Locale . US , Ġ"% .${ digits } f Ġ% s ", Ġvalue Ġ* Ġfactor , Ġunit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Circle With Indication ( textView , Ġmin Max , Ġvalue , Ġreverse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Text ( value : ĠInt , Ġunit : ĠString , Ġinfo : ĠTextView , ĠtextView : ĠTextView , Ġmin Max : ĠPair < Number ?, ĠNumber ?> Ġ= ĠPair ( null , Ġnull ), Ġreverse : ĠBoolean Ġ= Ġfalse , Ġvisibility : ĠInt Ġ= ĠView . VISIBLE ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( value Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinfo . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinfo . visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . text Ġ= ĠString . format ("% s Ġ% s ", Ġvalue , Ġunit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Circle With Indication ( textView , Ġmin Max , Ġvalue . toDouble (), Ġreverse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdraw Circle With Indication ( textView : ĠTextView , Ġmin Max : ĠPair < Number ?, ĠNumber ? >, Ġvalue : ĠDouble , Ġreverse : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ ĠtextView . compound Drawable Padding Ġ= Ġ 2 0 ĊĠĠĠĠĠĠĠ Ġvar Ġdrawable Ġ= ĠR . drawable . filled _ circle _ white ĊĠĠĠĠĠĠĠ Ġif Ġ( min Max . first Ġ!= Ġnull Ġ&& Ġmin Max . second Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpercent Ġ= Ġif Ġ( reverse ) Ġ( min Max . second !!. toDouble () Ġ- Ġvalue ) Ġ/ Ġ( min Max . second !!. toDouble () Ġ- Ġmin Max . first !!. toDouble ()) Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( value Ġ- Ġmin Max . first !!. toDouble ()) Ġ/ Ġ( min Max . second !!. toDouble () Ġ- Ġmin Max . first !!. toDouble ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable Ġ= Ġwhen Ġ( percent ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin Ġ 0 . 0 .. 0 . 2 Ġ-> ĠR . drawable . filled _ circle _ red ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin Ġ 0 . 2 .. 0 . 4 Ġ-> ĠR . drawable . filled _ circle _ orange ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin Ġ 0 . 4 .. 0 . 6 Ġ-> ĠR . drawable . filled _ circle _ yellow ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin Ġ 0 . 6 .. 0 . 8 Ġ-> ĠR . drawable . filled _ circle _ blue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin Ġ 0 . 8 .. 1 . 0 Ġ-> ĠR . drawable . filled _ circle _ green ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠR . drawable . filled _ circle _ white ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠtextView . set Compound Draw ables With Intr insic Bounds ( drawable , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Chips Text ( id : ĠInt , Ġlist : ĠList < String >, Ġimage Id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġchip Group : ĠCh ip Group Ġ= Ġroot . findViewById ( id ) ĊĠĠĠĠĠĠĠ Ġif Ġ( list . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchip Group . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( entry Ġin Ġlist ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchip Ġ= ĠCh ip ( require Context ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchip . text Ġ= Ġentry ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchip . is Clickable Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchip . chip Icon Ġ= ĠResources Compat . get Drawable ( resources , Ġimage Id , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchip Group . addView ( chip ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġdatabase ?. close () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Save InstanceState ( savedInstanceState : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Save InstanceState ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġsum mit Entry ?. id ?. let Ġ{ ĠsavedInstanceState . put Long ( Select On Os Map Activity . SUM MIT _ ID _ EXTRA _ IDENTIFIER , Ġit ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" Sum mit Data Fr agement " ĊĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( sum mit Entry : ĠSum mit ): ĠSum mit Entry Data Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠSum mit Entry Data Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . sum mit Entry Ġ= Ġsum mit Entry ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ