package Ġcom . co en . fre el ance hours . ui . tax . add Ċ Ċ import Ġandroid . arch . lifecycle . Observer Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġcom . co en . fre el ance hours . R Ċ import Ġcom . co en . fre el ance hours . base . Base Fragment Ċ import Ġcom . co en . fre el ance hours . databinding . Fragment Tax Add Binding Ċ import Ġcom . co en . fre el ance hours . ui . tax . Tax Fragment Ċ import Ġkotlinx . android . synt hetic . main . fragment _ tax _ add .* Ċ Ċ class ĠTax Add Fragment Ġ: ĠBase Fragment < Fragment Tax Add Binding , ĠTax Add ViewModel >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget VM Class (): ĠClass < Tax Add ViewModel > Ġ= ĠTax Add ViewModel :: class . java ĊĠĠĠ Ġoverride Ġfun Ġinit ViewModel Binding () Ġ{ Ġbinding . viewModel Ġ= ĠviewModel Ġ} ĊĠĠĠ Ġoverride Ġfun Ġget Layout Id (): ĠInt Ġ= ĠR . layout . fragment _ tax _ add ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠInitialize Ġnew Instance Ġfor Ġpassing Ġparam ters ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance (): ĠTax Add Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Home Ġ= ĠTax Add Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġargs Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Home . arguments Ġ= Ġargs ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment Home ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Observer s () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . status . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb Msg (" Tax Ġ${ viewModel . name . value } Ġadded .") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠTax Fragment . newInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Fragment ( fragment ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġinit Observer s () ĊĊĠĠĠĠĠĠĠ Ġfab _ submit . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . name . value Ġ= Ġet _ name . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . rate . value Ġ= Ġet _ rate . text . toString (). toDouble () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . on Submit Click () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }