package Ġbr . com . help dev . lap s counter . ui . adapter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . DialogInterface Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġbr . com . help dev . chron ometer lib . Ch ron ometer Ċ import Ġbr . com . help dev . chron ometer lib . objects . Ob Lap Ċ import Ġbr . com . help dev . lap s counter . R Ċ Ċ class ĠL aps Adapter ( ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġprivate Ġval Ġl aps : ĠList < Ob Lap >, ĊĠĠĠ Ġprivate Ġval Ġon Long Click : Ġ( Int , ĠOb Lap ) Ġ-> ĠUnit , ĊĠĠĠ Ġprivate Ġval Ġremove Last Lap : ĠBoolean Ġ= Ġtrue Ċ ) Ġ: ĠRecyclerView . Adapter < L aps Adapter . Item Holder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠItem Holder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= ĠLayoutInflater . from ( context ) ĊĠĠĠĠĠĠĠ Ġreturn ĠItem Holder ( in flater . inflate ( R . layout . item _ lap _ log , Ġparent , Ġfalse )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġif Ġ( lap s . isEmpty ()) Ġ 0 Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( remove Last Lap ) Ġl aps . size Ġ- Ġ 1 Ġelse Ġl aps . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠItem Holder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( lap s [ position ], Ġposition ) ĊĠĠĠĠĠĠĠ Ġholder . item View . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Long Click ( position , Ġl aps [ position ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠItem Holder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġnum Lap : ĠTextView Ġ= ĠitemView . findViewById ( R . id . numberOf Lap _ fix ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġtv Time : ĠTextView Ġ= ĠitemView . findViewById ( R . id . chron ometer _ current _ fix ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġtv Total Time : ĠTextView Ġ= ĠitemView . findViewById ( R . id . chron ometer _ total _ fix ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġtv Total Pause Time : ĠTextView Ġ= ĠitemView . findViewById ( R . id . chron ometer _ pause _ fix ) ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( ob Lap : ĠOb Lap , Ġlap Position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnum Lap . text Ġ= ĠitemView . context . getString ( R . string . num _ lap , ĠString . format ("% 0 2 d ", Ġlap Position Ġ+ Ġ 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Time . text Ġ= ĠCh ron ometer . get Formatted Time ( ob Lap . get Running Time ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ob Lap . paused Time Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Total Pause Time . text Ġ= ĠCh ron ometer . get Formatted Time ( ob Lap . paused Time ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Total Pause Time . setTextColor ( Color . RED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Total Pause Time . setTextColor ( Context Compat . getColor ( item View . context , ĠR . color . color Secondary Text )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Total Time . text Ġ= ĠCh ron ometer . get Formatted Time ( ob Lap . chron ometer Time ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }