package Ġcom . re curve . navigation . dialog Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . databinding . ViewData Binding Ċ import Ġandroidx . fragment . app . Dialog Fragment Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . navigation . fragment . Nav Host Fragment Ċ Ċ class ĠWrapper Dialog Fragment Ġ: ĠDialog Fragment (){ ĊĊĠĠĠ Ġprivate Ġvar Ġnav Host Fragment Ġ= ĠMutable LiveData < Nav Host Fragment >() ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġarg Ġ: ĠWrapper Dialog Fragment Args ĊĠĠĠ Ġprivate Ġvar Ġcurrent Nav Id Ġ= Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġarguments ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarg Ġ= ĠWrapper Dialog Fragment Args . from Bundle ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlayout Id Ġ= Ġ ĠR . layout . fragment _ nav _ container ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠData Binding Util . inflate < ViewData Binding >( in flater , Ġlayout Id , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠNav Host Fragment . create ( arg . graph Id , Ġarg . args ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild FragmentManager . beginTransaction (). add ( R . id . nav _ host _ container , Ġfragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Primary Navigation Fragment ( fragment ). commit Now () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . onCreate View ( in flater , Ġcontainer , ĠsavedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġval Ġm Window Ġ= Ġdialog ?. window ĊĠĠĠĠĠĠĠ Ġm Window Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġm Window . attributes ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Window . setLayout ( if Ġ( arg . width Ġ== Ġ 0 ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwidth ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarg . width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġif Ġ( arg . height Ġ== Ġ 0 ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheight ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarg . height ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }