package Ġorg . en grave . pack up . component . indicator Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . View . OnClickListener Ċ import Ġandroid . widget . Frame Layout Ċ import Ġandroid . widget . TextView Ċ import Ġorg . en grave . pack up . R Ċ import Ġorg . en grave . pack up . data . deadline . Deadline Ċ Ċ class ĠDead line Indicator Ġ: ĠFrame Layout Ġ{ ĊĠĠĠ Ġval Ġdead lines : ĠList < Deadline >? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Count Text : ĠTextView ĊĠĠĠ Ġprivate Ġvar Ġ_ display Text Ġ= Ġ"" ĊĠĠĠ Ġprivate Ġvar Ġ_ click Event Ġ= Ġ{} ĊĠĠĠ Ġvar Ġdisplay Text ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ display Text ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ._ display Text Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this :: m Count Text . isInitialized ) Ġm Count Text . text Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġvar Ġclick Event ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ click Event ĊĠĠĠĠĠĠĠ Ġset ( value : Ġ() -> Unit ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ._ click Event Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this :: m Count Text . isInitialized ) Ġm Count Text . setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġset OnClickListener ( ev : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ? Ġ= Ġnull ) Ġ: Ġsuper ( context , Ġattrs ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit ( context , Ġattrs ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?, Ġdef Style Attr : ĠInt ) Ġ: Ġsuper ( ĊĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠ Ġattrs , ĊĠĠĠĠĠĠĠ Ġdef Style Attr ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit ( context , Ġattrs ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġattrs : ĠAttributeSet ?, ĊĠĠĠĠĠĠĠ Ġdef Style Attr : ĠInt , ĊĠĠĠĠĠĠĠ Ġdef Style Res : ĠInt ĊĠĠĠ Ġ) Ġ: Ġsuper ( context , Ġattrs , Ġdef Style Attr , Ġdef Style Res ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit ( context , Ġattrs ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit ( context : ĠContext , Ġattrs : ĠAttributeSet ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= Ġcontext . getSystem Service ( Context . LAYOUT _ IN FL ATER _ SERVICE ) Ġas ĠLayoutInflater ĊĠĠĠĠĠĠĠ Ġval Ġa Ġ= Ġcontext . obtain Styled Attributes ( attrs , ĠR . style able . Deadline Indicator ) ĊĠĠĠĠĠĠĠ Ġval Ġm View : ĠView Ġ= Ġinflater . inflate ( R . layout . deadline _ indicator , Ġthis , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġm Count Text Ġ= Ġm View . findViewById ( R . id . deadline _ indicator _ count ) ĊĠĠĠĠĠĠĠ Ġm Count Text . text Ġ= Ġdisplay Text ĊĠĠĠĠĠĠĠ Ġm Count Text . setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclick Event () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġa . recycle () ĊĠĠĠ Ġ} Ċ } Ċ