package Ġcom . it l . kg . android lab kt . bio metrics Lab Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . view Models Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġcom . it l . kg . android lab kt . bio metrics Lab . mv vm . Bio Lab Fragment ViewModel Ċ import Ġcom . it l . kg . android lab kt . bio metrics Lab . mv vm . Bio Lab Fragment ViewModel Factory Ċ import Ġcom . it l . kg . android lab kt . databinding . Fragment Bio metrics Lab Binding Ċ Ċ /** Ċ Ġ* Ċ Ġ* ĠBio metrics Lab Ġ- Ġä½¿çĶ¨ Bio metrics Tools æĲ Ń éħį MV VM éĢ² è¡Į ç° ¡ åĸ ® çļĦ Demo Ċ Ġ* Ċ Ġ* Ġ Ġä½¿çĶ¨ Bio metrics Tools å°ĩ Bio metric Prompt å°ģ è£ Ŀ ï¼Į ä¸¦ ç° ¡ åĮĸ åħ¶ è¨Ńå®ļ ä»ĭ éĿ¢ Ċ Ġ* Ġ Ġ éĩ Ŀ å°į ErrorCode çļĦ éĥ¨åĪĨ åı¦å¤ĸ æıĲä¾Ľ Simple Bio ErrorCode Parser ä½ľ çĤº åŁº ç¤ İ çļĦ ErrorCode Parser Ċ Ġ* Ċ Ġ*/ Ċ Ċ class ĠBio metrics Lab Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġ_ binding : ĠFragment Bio metrics Lab Binding ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġbinding Ġget () Ġ= Ġ_ binding !! ĊĊĠĠĠ Ġprivate Ġval ĠviewModel Ġby Ġview Models < Bio Lab Fragment ViewModel > Ġ{ ĊĠĠĠĠĠĠĠ ĠBio Lab Fragment ViewModel Factory () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= ĠFragment Bio metrics Lab Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġinit Live Date () ĊĊĠĠĠĠĠĠĠ Ġbinding . m Start Bio metrics Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . start Bio Auth ( require Activity (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" éĢĻ æĺ¯ Title ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" éĢĻ æĺ¯ Sub Title ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" éĢĻ æĺ¯ Neg æĮī é Ī ķ ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġinit Check Support Status () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Check Support Status () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= ĠviewModel . check Device Support ( require Context ()) ĊĠĠĠĠĠĠĠ Ġbinding . m Bio Status Tv . text Ġ= ĠviewModel . parser Status ErrorCode ( require Context (), Ġstatus ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Live Date () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . get Auth Result LiveData (). observe ( view Lifecycle Owner , ĠObserver Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġauth Result Ġ= ĠviewModel . parser Auth ErrorCode ( require Context (), Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . m Bio Status Tv . text Ġ= Ġauth Result ĊĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ Ċ }