package Ġcom . tz t . customize kt . di y . text Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroidx . appcompat . widget . AppCompat TextView Ċ Ċ class ĠCount Down View Ġ: ĠAppCompat TextView , ĠRunnable Ġ{ ĊĊĠĠĠ Ġ/** Ġ åĢĴ è®¡ æĹ¶ ç§Ĵ æķ° Ġ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġm Total Second Ġ= Ġ 6 0 ĊĊĠĠĠ Ġ/** Ġ ç§Ĵ æķ° åįķä½į æĸĩæľ¬ Ġ Ġ*/ ĊĠĠĠ Ġprivate Ġval ĠTIME _ UNIT Ġ= Ġ" S " ĊĊĠĠĠ Ġ/** Ġå½ĵåīį ç§Ĵ æķ° Ġ Ġ*/ ĊĠĠĠ Ġprivate Ġvar ĠmCurrent Second : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġ/** Ġ è®°å½ķ åİŁ æľīçļĦ æĸĩæľ¬ Ġ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġm Record Text : ĠCharSequence ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** Ġ æłĩè®° æĺ¯åĲ¦ éĩį ç½® äºĨ åĢĴ è®¡ æİ§ä»¶ Ġ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġm Flag : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġsuper ( context ) ĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?) Ġ: Ġsuper ( context , Ġattrs ) Ċ // ĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?, Ġdef Style Attr : ĠInt ) Ġ: Ġsuper ( context , Ġattrs , Ġdef Style Attr ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® åĢĴ è®¡ æĹ¶ æĢ» ç§Ĵ æķ° ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Total Time ( total Time : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . m Total Second Ġ= Ġtotal Time ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ éĩį ç½® åĢĴ è®¡ æĹ¶ æİ§ä»¶ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġreset State () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Flag Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attached To Window () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attached To Window () ĊĠĠĠĠĠĠĠ Ġ// Ġè®¾ç½® çĤ¹åĩ» çļĦ å±ŀæĢ§ ĊĠĠĠĠĠĠĠ Ġis Clickable Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detached From Window () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġ ç§»éĻ¤ å»¶ è¿ Ł ä»»åĬ¡ ï¼Į éģ¿åħį åĨħåŃĺ æ³ Ħ éľ ² ĊĠĠĠĠĠĠĠ Ġremove Callbacks ( this ) ĊĠĠĠĠĠĠĠ Ġsuper . on Detached From Window () ĊĠĠĠ Ġ} Ċ Ċ // ĠĠĠ Ġoverride Ġfun Ġperform Click (): ĠBoolean Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġclick Ġ= Ġsuper . perform Click () Ċ // ĠĠĠĠĠĠĠ Ġm Record Text Ġ= Ġtext Ċ // ĠĠĠĠĠĠĠ Ġis Enabled Ġ= Ġfalse Ċ // ĠĠĠĠĠĠĠ ĠmCurrent Second Ġ= Ġm Total Second Ċ // ĠĠĠĠĠĠĠ Ġpost ( this ) Ċ // ĠĠĠĠĠĠĠ Ġreturn Ġclick Ċ // ĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstart Down Time () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Record Text Ġ= Ġtext ĊĠĠĠĠĠĠĠ Ġis Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ ĠmCurrent Second Ġ= Ġm Total Second ĊĠĠĠĠĠĠĠ Ġpost ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m Current Second Ġ== Ġ 0 Ġ|| Ġm Flag ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġm Record Text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Flag Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmCurrent Second -- ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ"$ m Current Second Ġ$ TIME _ UNIT " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost Delayed ( this , Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }