package Ġcom . github . wind se kir un . n ara es ftp . progress Ċ Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . github . wind se kir un . base app . base . Base Bottom Sheet Dialog Fragment Ċ import Ġcom . github . wind se kir un . bind adapters . observable . Observable String Ċ import Ġcom . github . wind se kir un . n ara es ftp . R Ċ import Ġcom . github . wind se kir un . n ara es ftp . databinding . Confirm Dialog Binding Ċ import Ġcom . google . android . material . bottom sheet . Bottom Sheet Dialog Ċ Ċ class ĠConfirm Dialog Ġ: ĠBase Bottom Sheet Dialog Fragment < Confirm Dialog Binding >() Ġ{ ĊĊĠĠĠ Ġval Ġmessage Ġ= ĠObservable String () ĊĠĠĠ Ġlateinit Ġvar Ġcallback : Ġ() Ġ-> ĠUnit ĊĠĠĠ Ġlateinit Ġvar Ġclose Callback : Ġ() Ġ-> ĠUnit ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Dialog ( savedInstanceState : ĠBundle ?): ĠDialog Ġ= ĊĠĠĠĠĠĠĠ ĠBottom Sheet Dialog ( require Context (), ĠR . style . Bottom Sheet Dialog Theme Light ) ĊĊĠĠĠ Ġoverride Ġfun Ġcreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?) Ġ= ĊĠĠĠĠĠĠĠ ĠConfirm Dialog Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding . dialog Ġ= Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclick Close ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(:: close Callback . isInitialized ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclose Callback . invoke () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclick Confirm ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(:: callback . isInitialized ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . invoke () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġshow ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity : ĠAppCompatActivity , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmessage : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback : Ġ() Ġ-> ĠUnit , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclose Callback : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠConfirm Dialog (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . message . set ( message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback Ġ= Ġcallback ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( close Callback Ġ!= Ġnull ) Ġthis . close Callback Ġ= Ġclose Callback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . support FragmentManager . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add ( fragment , Ġ" confirm "). commit () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }