package Ġio . flater lab . mes hex am . presentation . discover . ui . info Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . core . view . isIn visible Ċ import Ġandroidx . fragment . app . FragmentManager Ċ import Ġdagger . h ilt . android . Android EntryPoint Ċ import Ġio . flater lab . mes hex am . android base . View Binding Bottom Sheet Dialog Fragment Ċ import Ġio . flater lab . mes hex am . android base . View Binding Provider Ċ import Ġio . flater lab . mes hex am . android base . ext . click With De bounce Ċ import Ġio . flater lab . mes hex am . android base . set Launcher Ċ import Ġio . flater lab . mes hex am . android base . text . setText Ċ import Ġio . flater lab . mes hex am . presentation . discover . databinding . Dialog Exam Info Binding Ċ import Ġio . flater lab . mes hex am . presentation . discover . databinding . Item Exam Info Binding Ċ import Ġio . flater lab . mes hex am . presentation . discover . d vo . Exam Info Item D vo Ċ import Ġio . flater lab . mes hex am . presentation . discover . router . Discover Router Ċ import Ġjavax . inject . Inject Ċ Ċ @ Android EntryPoint Ċ internal Ġclass ĠExam Info Dialog Fragment Ġ: ĊĠĠĠ ĠView Binding Bottom Sheet Dialog Fragment < Dialog Exam Info Binding > Ġ{ ĊĊĠĠĠ Ġ@ Deprecated ( message Ġ= ĠDE PREC ATION _ MESSAGE , Ġlevel Ġ= ĠDeprec ation Level . ERROR ) ĊĠĠĠ Ġconstructor () ĊĊĠĠĠ Ġconstructor ( launcher : ĠExam Info Launcher ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Launcher ( launcher ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġshow ( launcher : ĠExam Info Launcher , Ġfragment Manager : ĠFragment Manager ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠExam Info Dialog Fragment ( launcher ). show ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Manager , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExam Info Dialog Fragment :: class . java . canonical Name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġdiscover Router : ĠDis cover Router ĊĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠExam Info ViewModel Ġby Ġvm () ĊĊĠĠĠ Ġoverride Ġval Ġview Binder : ĠView Binding Provider < Dialog Exam Info Binding > ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠDialog Exam Info Binding :: inflate ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ ĠviewModel . exam Name . observe ( view Lifecycle Owner , Ġbinding . tv Exam Name :: setText ) ĊĠĠĠĠĠĠĠ ĠviewModel . exam Info ItemList . observe ( view Lifecycle Owner , Ġ:: on Info Items Received ) ĊĠĠĠĠĠĠĠ ĠviewModel . command Edit Client . observe ( view Lifecycle Owner ) Ġ{ Ġdiscover Router . open Edit Profile ( it ) Ġ} ĊĠĠĠĠĠĠĠ ĠviewModel . command Join Exam . observe ( view Lifecycle Owner ) Ġ{ Ġexam Id Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdiscover Router . join Exam ( exam Id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . btn Join Exam . click With De bounce ( action Ġ= ĠviewModel :: on Join Clicked ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Info Items Received ( items : ĠList < Exam Info Item D vo >) Ġ= ĊĠĠĠĠĠĠĠ Ġwith ( binding . container Exam Info Items ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremove All Views () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems . forEach Ġ{ Ġexam Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd View ( create Exam Info Item View ( exam )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Exam Info Item View ( item : ĠExam Info Item D vo ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠItem Exam Info Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Exam Info Item Title . setText ( item . title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Exam Info Item Value . setText ( item . value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Exam Info Edit . isIn visible Ġ= Ġ! item . is Editable ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Exam Info Edit . click With De bounce ( action Ġ= Ġitem . on Edit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. root ĊĠĠĠ Ġ} Ċ }