package Ġcom . sec . common . ui Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . drawable . Color Drawable Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġcom . alibaba . android . ar outer . launcher . AR outer Ċ import Ġcom . google . android . material . dialog . Material AlertDialog Builder Ċ import Ġcom . sec . common . R Ċ import Ġcom . sec . common . constant . Route Path Ċ import Ġcom . sec . common . int ents . For Result Callback Ċ import Ġcom . sec . common . room . F izz Database Ċ Ċ class ĠPass port Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTAG Ġ= Ġ" TAG _ Passport Fragment " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠREQUEST _ CODE Ġ= Ġ 1 2 3 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġloading Dialog Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠMaterial AlertDialog Builder ( require Context ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setView ( R . layout . layout _ loading _ dialog ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setBackground ( Color Drawable ( Color . TRANSP ARENT )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Cancel able ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġblock : ĠFunction 1 < For Result Callback , ĠUnit >? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġon Result Callback ( callback : ĠFunction 1 < For Result Callback , ĠUnit >) Ġ{ ĊĠĠĠĠĠĠĠ Ġblock Ġ= Ġcallback ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġ// ĠçĶ¨æĪ· çĻ»å½ķ è®¢ éĺħ ĊĠĠĠĠĠĠĠ ĠF izz Database . getInstance ( require Activity ()). account Dao () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Account (). observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* ĠçĶ¨æĪ· çĻ»å½ķ æĪĲåĬŁ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall Back ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġto Login () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġto Login () Ġ{ ĊĠĠĠĠĠĠĠ ĠA Router . getInstance (). build ( Route Path . APP _ LOGIN ). navigation ( require Activity (), ĠREQUEST _ CODE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== ĠREQUEST _ CODE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( result Code ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActivity . RESULT _ OK Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ æĮ ª åĪ° çĶ¨æĪ· çĻ»å½ķ è®¢ éĺħ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcall Back ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActivity . RESULT _ C ANCE LED Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall Back ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcall Back ( success : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġloading Dialog . dismiss () ĊĠĠĠĠĠĠĠ Ġval Ġtemp CallBack Ġ= ĠFor Result Callback () ĊĠĠĠĠĠĠĠ Ġblock ?. invoke ( temp CallBack ) ĊĠĠĠĠĠĠĠ Ġtemp CallBack . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( success ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdo Ok ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdo Cancel () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparent FragmentManager . beginTransaction (). remove ( this ). commit Now Allow ing State Loss () ĊĠĠĠ Ġ} Ċ Ċ }