package Ġfr . next gear . me sent ret i ens m oto . core . views Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . support . design . widget . TextInput EditText Ċ import Ġandroid . support . v 4 . content . Context Compat Ċ import Ġandroid . text . Editable Ċ import Ġandroid . text . Text Watcher Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Compound Button Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . TextView Ċ import Ġcom . google . firebase . auth . Firebase Auth Ċ import Ġcom . google . firebase . database . Firebase Database Ċ import Ġcom . or h ano but . logger . Logger Ċ import Ġfr . next gear . me sent ret i ens m oto . R Ċ import Ġfr . next gear . me sent ret i ens m oto . core . firebase . Firebase Contract Ċ import Ġfr . next gear . me sent ret i ens m oto . core . model . Bi ke Ċ import Ġio . reactivex . Comp letable Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ import Ġkotlinx . android . synt hetic . main . layout _ modify _ bi ke . view .* Ċ Ċ class ĠDialog Modify Bi ke ( bi ke : ĠBi ke , Ġcontext : ĠContext ) Ġ: ĠLinearLayout ( context ) Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠView . inflate ( context , ĠR . layout . layout _ modify _ bi ke , Ġthis ) ĊĠĠĠĠĠĠĠ Ġlayout Params Ġ= ĠViewGroup . Margin LayoutParams ( ViewGroup . LayoutParams . MATCH _ PARENT , ĠViewGroup . LayoutParams . MATCH _ PARENT ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayout Modify Bi ke _ TextInput EditText _ Name Bi ke . setText ( bi ke . name Bi ke ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoggle Button Modify Count ing Method . isChecked Ġ= Ġbi ke . count ing Method Ġ== ĠBi ke . Method Count . HOUR S ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoggle Button Modify Count ing Method . setOn Checked ChangeListener Ġ{ Ġ_, Ġit Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbi ke . count ing Method Ġ= Ġif Ġ( it ) ĠBi ke . Method Count . HOUR S Ġelse ĠBi ke . Method Count . KM ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Bi ke ( bi ke ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . new Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLogger . d (" bi ke Ġupdated ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayout Modify Bi ke _ TextInput EditText _ Name Bi ke . add TextChanged Listener ( object Ġ: ĠText Watcher Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġafter TextChanged ( s : ĠEdit able ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbi ke . name Bi ke Ġ= Ġs . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Bi ke ( bi ke ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . new Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLogger . d (" bi ke Ġupdated ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbefore TextChanged ( s : ĠCharSequence ?, Ġstart : ĠInt , Ġcount : ĠInt , Ġafter : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon TextChanged ( s : ĠCharSequence ?, Ġstart : ĠInt , Ġbefore : ĠInt , Ġcount : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Bi ke ( po Bi ke : ĠBi ke ): ĠComp letable Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠComp letable . create Ġ{ Ġe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠFirebase Auth . getInstance (). currentUser ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( user Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdatabase Ġ= ĠFirebase Database . getInstance (). getReference ( Firebase Contract . USERS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . child ( user . uid ). child ( Firebase Contract . BI K ES ). child ( po Bi ke . reference ). child (" count ing Method "). setValue ( po Bi ke . count ing Method ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . child ( user . uid ). child ( Firebase Contract . BI K ES ). child ( po Bi ke . reference ). child (" name Bi ke "). setValue ( po Bi ke . name Bi ke ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBi ke . Bi ke Dao (). update Bi ke ( po Bi ke ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . onComplete () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detached From Window () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Detached From Window () ĊĠĠĠĠĠĠĠ ĠLogger . e (" on Ġv ient Ġde ĠdÃ© t acher Ġle Ġdialogue Ġde Ġla Ġvue Ġ") ĊĠĠĠ Ġ} Ċ Ċ }