package Ġcom . example . android . l ifec yc les . step 3 Ċ Ċ import Ġandroid . arch . lifecycle . Observer Ċ import Ġandroid . arch . lifecycle . ViewModel Providers Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġcom . example . android . code labs . lifecycle . R Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠAr n old Ġon Ġ 2 8 ĠApr Ġ 2 0 1 8 . Ċ Ġ*/ Ċ class ĠCh rono Activity 3 Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġm LiveData Timer ViewModel : ĠLive Data Timer ViewModel ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . chrono _ activity _ 3 ) ĊĊĠĠĠĠĠĠĠ Ġm LiveData Timer ViewModel Ġ= ĠViewModel Providers . of ( this ). get ( LiveData Timer ViewModel :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġsubscribe () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsubscribe () Ġ{ ĊĠĠĠĠĠĠĠ ĠObserver < Long > Ġ{ Ġa Long Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew Text Ġ= Ġthis @ Ch rono Activity 3 . resources . getString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . seconds , Ġa Long ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( findViewById < View >( R . id . timer _ text view ) Ġas ĠTextView ). text Ġ= Ġnew Text ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Ch rono Activity 3 ", Ġ" Updating Ġtimer ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// TODO : Ġobserve Ġthe ĠViewModel 's Ġelapsed Ġtime ĊĠĠĠ Ġ} Ċ } Ċ