package Ġcom . part nus . timer . front Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroidx . constraint layout . widget . Constraint Layout Ċ import Ġcom . part nus . timer . R Ċ import Ġcom . part nus . timer . databinding . Part nus Timer Binding Ċ Ċ /** Ċ Ġ** ĠTimer Ġ** Ċ Ġ* Ġ{@ link Ġcom . part nus . Timer Type } ĠìĹĲ ĠëĶ°ëĿ¼ Ġ{@ link Ġcom . part nus . Timer able Factory } ĠìĹĲ ìĦľ Ġ{@ link Ġcom . part nus . Timer able } Ċ Ġ* ĠìĿ Ħ Ġìĥģ ìĨį ë° Ľ ëĬĶ Ġê°Ŀì²´ ëĵ¤ìĿĦ Ġìłľê³µ íķł ĠìĪĺ ĠìŀĪ ëıĦë¡Ŀ ĠíķĺëĬĶ Ġë©Ķ ìĿ¸ Ġíķ¨ìĪĺ ìĿ´ëĭ¤ . Ċ Ġ*/ Ċ class ĠTimer ( context : ĠContext , Ġattrs : ĠAttributeSet ) Ġ: ĠConstraint Layout ( context , Ġattrs ), ĠTimer able Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġbinding : ĠPart nus Timer Binding ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġtimer Type : ĠTimer Type Ġ// Ġtimer Ġì¢ ħ ë¥ĺ ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġtimer : ĠTimer able Ġ// Ġtimer Ġê°Ŀì²´ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( context ). inflate ( R . layout . part nus _ timer , Ġthis ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠPart nus Timer Binding . bind ( view ) ĊĠĠĠĠĠĠĠ Ġcontext . obtain Styled Attributes ( attrs , ĠR . style able . Timer ). also Ġ{ Ġtyped Array Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġtimer Type Ġenum Ġê°Ĵ Ġê°Ģ ìł¸ ìĺ¤ ê¸° ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtimer Type Idx Ġ= Ġtyped Array . getInt ( R . style able . Timer _ timer Style , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtimer Type Ġ= ĠTimer Type . values ()[ timer Type Idx ] ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠTimer able Factory Ġë ¥ ¼ ĠíĨµíķ´ ĠTimer able Ġê°Ŀì²´ Ġê°Ģ ìł¸ ìĺ¤ ê¸° ĊĠĠĠĠĠĠĠ Ġtimer Ġ= ĠTimer able Factory (). get Timer ableView ( context , Ġattrs , Ġtimer Type ) ĊĠĠĠĠĠĠĠ Ġbinding . timer Container . addView ( timer Ġas ĠView , Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Init Time ( timestamp : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtimer . set Init Time ( timestamp ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠsetCurrent Time ( timestamp : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtimer . setCurrent Time ( timestamp ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Init Time (): ĠLong Ġ= Ġtimer . get Init Time () ĊĊĠĠĠ Ġoverride Ġfun ĠgetCurrent Time (): ĠLong Ġ= Ġtimer . getCurrent Time () Ċ } Ċ