@ file : Jvm Name (" Dialog Util ") Ċ Ċ package Ġcom . github . frag ivity . dialog Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Dialog Fragment Ċ import Ġandroidx . navigation . fragment . Dialog Fragment Navigator Ċ import Ġandroidx . navigation . fragment . Dialog Fragment Navigator Destination Builder Ċ import Ġandroidx . navigation . get Ċ import Ġandroidx . navigation . plus Assign Ċ import Ġcom . github . frag ivity . My Nav Host Ċ import Ġkotlin . reflect . K Class Ċ Ċ /** Ċ Ġ* ĠShows Ġdialog Ġof Ġ[ clazz ] Ġby Ġpushing Ġthe Ġdialog Fragment Ġto Ġback Ġstack Ċ Ġ*/ Ċ fun ĠMy Nav Host . show Dialog ( ĊĠĠĠ Ġclazz : ĠK Class < out ĠDialog Fragment >, ĊĠĠĠ Ġargs : ĠBundle ? Ġ= Ġnull Ċ ) Ġ= Ġwith ( nav Controller ) Ġ{ ĊĠĠĠ Ġval Ġnode Ġ= Ġput Dialog ( clazz ) ĊĠĠĠ Ġnavigate ( node . id , Ġargs ) Ċ } ĊĊ Ċ private Ġfun ĠMy Nav Host . put Dialog ( ĊĠĠĠ Ġclazz : ĠK Class < out ĠDialog Fragment > Ċ ): ĠDialog Fragment Navigator . Destination Ġ{ ĊĠĠĠ Ġval Ġdest Id Ġ= Ġclazz . hashCode () ĊĠĠĠ Ġval Ġgraph Ġ= Ġnav Controller . graph ĊĠĠĠ Ġvar Ġdestination Ġ= Ġgraph . find Node ( dest Id ) Ġas ? ĠDialog Fragment Navigator . Destination ĊĠĠĠ Ġif Ġ( destination Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdestination Ġ= ĠDialog Fragment Navigator Destination Builder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnav Controller . navigator Provider [ Dialog Fragment Navigator :: class ], ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdest Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclazz ĊĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġclazz . qualified Name ĊĠĠĠĠĠĠĠ Ġ}. build () ĊĠĠĠĠĠĠĠ Ġgraph . plus Assign ( destination ) ĊĠĠĠĠĠĠĠ Ġsave To ViewModel ( destination ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġdestination Ċ } ĊĊĊ