package Ġorg . covid watch . android . ui . reporting Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . view . isVisible Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġandroidx . recyclerview . widget . Divider Item Decoration Ċ import Ġcom . google . android . material . bottom sheet . Bottom Sheet Dialog Fragment Ċ import Ġcom . x wr ay . group ie . Expand able Group Ċ import Ġcom . x wr ay . group ie . Group Adapter Ċ import Ġcom . x wr ay . group ie . Group ie ViewHolder Ċ import Ġorg . covid watch . android . R Ċ import Ġorg . covid watch . android . databinding . Fragment Positive Diag no ses Binding Ċ import Ġorg . covid watch . android . extension . observe Ċ import Ġorg . k oin . android x . view model . ext . android . viewModel Ċ Ċ class ĠPositive Diag no ses Fragment Ġ: ĠBottom Sheet Dialog Fragment () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġ_ binding : ĠFragment Positive Diag no ses Binding ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġbinding Ġget () Ġ= Ġ_ binding !! ĊĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠPositive Diag no ses ViewModel Ġby ĠviewModel () ĊĠĠĠ Ġprivate Ġval Ġadapter Ġ= ĠGroup Adapter < Group ie ViewHolder >() ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= ĠFragment Positive Diag no ses Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġwith ( binding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Modal Ġ= Ġarguments ?. getBoolean ( MOD AL ) Ġ== Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġclose Button . isVisible Ġ= Ġ! is Modal ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . isVisible Ġ= Ġis Modal ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġclose Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( find Nav Controller (). current Back Stack Entry ?. destination ?. id Ġ== ĠR . id . positive Diag no ses Fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller (). pop Back Stack () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġdismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpast Positive Diag no ses List . addItem Decoration ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiv ider Item Decoration ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Context (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiv ider Item Decoration . VERTICAL ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpast Positive Diag no ses List . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith ( viewModel ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobserve ( positive Diag no ses ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . isNotEmpty ()) Ġadapter . clear () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . forEach Ġ{ Ġdi agnosis Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExpand able Group ( Di agnosis Item ( require Context (), Ġdi agnosis )). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Di agnosis Details Item ( viewModel , Ġdi agnosis )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . no Past Positive Diag no ses . isVisible Ġ= Ġit . isEmpty () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . past Positive Diag no ses List . isVisible Ġ= Ġit . isNotEmpty () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠMOD AL Ġ= Ġ" modal " ĊĊĠĠĠĠĠĠĠ Ġfun Ġinstance () Ġ= ĠPositive Diag no ses Fragment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Boolean ( MOD AL , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }