package Ġcom . es af irm . sample Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġbutter knife . BindView Ċ import Ġcom . es af irm . conduct ore x tra . but ter knife . Binder Controller Ċ import Ġcom . es af irm . conduct ore x tra . common . on Event Ċ import Ġcom . es af irm . sample . utils . Counter Ċ import Ġjava . util .* Ċ Ċ class ĠConfig Change Controller Ġ: ĠB inder Controller () Ġ{ ĊĊĠĠĠ Ġ@ BindView ( R . id . fetch ing _ txt _ main ) Ġlateinit Ġvar Ġtxt Main : ĠTextView ĊĊĠĠĠ Ġprivate Ġval Ġcounter Ġ= ĠCounter (). also Ġ{ ĠLog . w (" Counter ", Ġ" Initialize Ġcounter ") Ġ} ĊĠĠĠ Ġprivate Ġval Ġtimer Ġ= ĠTimer () ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout View ( container : ĠViewGroup ): ĠView Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . inflate ( R . layout . controller _ config _ change ) ĊĊĠĠĠ Ġoverride Ġfun Ġon View Bound ( binding Result : ĠView , Ġsaved State : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġtxt Main . text Ġ= Ġcounter . count . toString () ĊĊĠĠĠĠĠĠĠ ĠLogger . log (" TextView : Ġ$ txt Main ") ĊĊĠĠĠĠĠĠĠ Ġif Ġ( saved State Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtimer . schedule At Fixed Rate ( object Ġ: ĠTimer Task () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcounter . increment () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ?. run On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtxt Main . text Ġ= Ġcounter . count . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ 1 0 0 0 , Ġ 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Event ( on Pre Destroy Ġ= Ġ{ Ġremo ver Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtimer . cancel () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremo ver () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ