package Ġser g . ch up rin . fin ances . core . api . presentation . view . extensions . fragment Ċ Ċ import Ġandroid . os . Parcelable Ċ import Ġandroid . view . View Ċ import Ġandroidx . annotation . Layout Res Ċ import Ġandroidx . fragment . app . Dialog Fragment Ċ import Ġandroidx . fragment . app . FragmentManager Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠSer ge y ĠCh up rin Ġon Ġ 2 1 . 0 7 . 2 0 2 0 . Ċ Ġ*/ Ċ fun ĠDialog Fragment . inflate Custom View (@ Layout Res Ġlayout Res : ĠInt ): ĠView Ġ{ ĊĠĠĠ Ġreturn Ġrequire Activity (). layout Inflater . inflate ( layout Res , Ġnull ) Ċ } Ċ Ċ inline Ġfun Ġ< re ified ĠD Ġ: ĠDialog Fragment > Ġdismiss Dialog ( fragment Manager : ĠFragment Manager ) Ġ{ ĊĠĠĠ Ġval Ġtag Ġ= Ġ"${ D :: class . java . simple Name }_ $ FRAGMENT _ TAG " ĊĠĠĠ Ġ( fragment Manager . find Fragment By Tag ( tag ) Ġas ? ĠDialog Fragment )?. dismiss () Ċ } Ċ Ċ inline Ġfun Ġ< re ified ĠD Ġ: ĠDialog Fragment > Ġshow Dialog ( ĊĠĠĠ Ġfragment Manager : ĠFragment Manager , ĊĠĠĠ Ġarguments : ĠParcel able ? Ġ= Ġnull Ċ ) Ġ{ ĊĠĠĠ Ġval Ġclazz Ġ= ĠD :: class . java ĊĠĠĠ Ġval ĠclassName Ġ= Ġclazz . simple Name ĊĊĠĠĠ Ġval Ġtag Ġ= Ġ"${ className }_ $ FRAGMENT _ TAG " ĊĊĠĠĠ Ġval Ġfragment Ġ= Ġfragment Manager . find Fragment By Tag ( tag ) Ġ?: Ġclazz . newInstance () ĊĠĠĠ Ġif Ġ( fragment Ġis ĠDialog Fragment Ġ&& Ġ! fragment . is Added ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( arguments Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . arguments Ġ= Ġarguments . to Bundle < D >() ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfragment . show ( fragment Manager , Ġtag ) ĊĠĠĠ Ġ} Ċ }