package Ġcom . p ich u . nan am are . base . ui Ċ Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . content . DialogInterface Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view .* Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . databinding . ViewData Binding Ċ import Ġandroidx . fragment . app . Dialog Fragment Ċ import Ġcom . p ich u . nan am are . R Ċ Ċ abstract Ġclass ĠBase Full Sheet Dialog Fragment < B Ġ: ĠView Data Binding >( private Ġval Ġlayout Id : ĠInt ) Ġ: ĊĠĠĠ ĠDialog Fragment () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Theme (): ĠInt Ġ= ĠR . style . FullScreen Dialog Style ĊĊĠĠĠ Ġlateinit Ġvar Ġbinding : ĠB ĊĊĠĠĠ Ġvar ĠonClick Listener : Ġ(( position : ĠInt , Ġtext : ĠString ) Ġ-> ĠUnit )? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġon Dismiss Listener : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠData Binding Util . inflate ( in flater , Ġlayout Id , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġbinding . lifecycle Owner Ġ= Ġthis ĊĊĠĠĠĠĠĠĠ Ġrequire Dialog (). window ?. request Feature ( Window . FEATURE _ NO _ TITLE ) ĊĠĠĠĠĠĠĠ Ġrequire Dialog (). window ?. setBackground Drawable ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . get Drawable ( require Context (), Ġandroid . R . color . background _ light ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġrequire Dialog (). setOn Show Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( it Ġas ĠDialog ). setOn Key Listener Ġ{ Ġ_, ĠkeyCode , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( keyCode Ġ== ĠKeyEvent . KEYCODE _ BACK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClose Click () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġrequire Dialog (). set Canceled On Touch Outside ( false ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Dismiss ( dialog : ĠDialog Interface ) Ġ{ ĊĠĠĠĠĠĠĠ Ġon Dismiss Listener ?. invoke () ĊĠĠĠĠĠĠĠ Ġsuper . on Dismiss ( dialog ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠonClose Click () Ġ{ ĊĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠ Ġ} Ċ Ċ }