package Ġcom . d aking x . dk dialog . custom Ċ Ċ import Ġandroid . content . DialogInterface Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Gravity Ċ import Ġandroid . view . WindowManager Ċ import Ġandroidx . appcompat . widget . AppCompat Button Ċ import Ġcom . d aking x . dk dialog . R Ċ import Ġcom . d aking x . dk dialog . base . Base Dialog Fragment Ċ import Ġcom . d aking x . dk dialog . base . ViewHolder Ċ Ċ sealed Ġclass ĠPhoto Dialog Action Ġ{ ĊĠĠĠ Ġobject ĠCapture Ġ: ĠPhoto Dialog Action () ĊĠĠĠ Ġobject ĠGallery Ġ: ĠPhoto Dialog Action () ĊĠĠĠ Ġobject ĠCancel Ġ: ĠPhoto Dialog Action () Ċ } Ċ Ċ interface ĠPhoto Dialog Listener Ġ{ ĊĠĠĠ Ġfun Ġon Photo Action ( action : ĠPhoto Dialog Action , Ġdialog : ĠPhoto Dialog Fragment ) Ċ } Ċ Ċ class ĠPhoto Dialog Fragment Ġ: ĠBase Dialog Fragment () Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġfm Name Ġ= Ġ" photo _ dialog _ fragment _${ System . currentTimeMillis () }" ĊĠĠĠĠĠĠĠ Ġlayout Id Ġ= ĠR . layout . dialog _ photo ĊĠĠĠĠĠĠĠ Ġwidth Ġ= ĠWindow Manager . LayoutParams . MATCH _ PARENT ĊĠĠĠĠĠĠĠ Ġheight Ġ= ĠWindow Manager . LayoutParams . WRAP _ CONTENT ĊĠĠĠĠĠĠĠ Ġgravity Ġ= ĠGr avity . BOTTOM ĊĠĠĠĠĠĠĠ Ġcancel Outside Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġphoto Dialog Listener : ĠPhoto Dialog Listener ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( photo Dialog Listener Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġphoto Dialog Listener Ġ= Ġcontext Ġas ? ĠPhoto Dialog Listener ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġphoto Dialog Listener Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠconvertView ( holder : ĠViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġæĭ į çħ§ ĊĠĠĠĠĠĠĠ Ġval Ġcapture Btn Ġ= Ġholder . getView < AppCompat Button >( R . id . btn _ capture ) ĊĠĠĠĠĠĠĠ Ġcapture Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġphoto Dialog Listener ?. on Photo Action ( Photo Dialog Action . Capture , Ġthis ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġ çĽ¸ åĨĮ ĊĠĠĠĠĠĠĠ Ġval Ġgallery Btn Ġ= Ġholder . getView < AppCompat Button >( R . id . btn _ gallery ) ĊĠĠĠĠĠĠĠ Ġgallery Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġphoto Dialog Listener ?. on Photo Action ( Photo Dialog Action . Gallery , Ġthis ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġ åıĸæ¶Ī ĊĠĠĠĠĠĠĠ Ġval Ġcancel Btn Ġ= Ġholder . getView < AppCompat Button >( R . id . btn _ cancel ) ĊĠĠĠĠĠĠĠ Ġcancel Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġphoto Dialog Listener ?. on Photo Action ( Photo Dialog Action . Cancel , Ġthis ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Cancel ( dialog : ĠDialog Interface ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Cancel ( dialog ) ĊĊĠĠĠĠĠĠĠ Ġphoto Dialog Listener ?. on Photo Action ( Photo Dialog Action . Cancel , Ġthis ) ĊĠĠĠ Ġ} Ċ } Ċ