package Ġcom . k ier on qu inn . app . dar q . ui . base Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . view . View Compat Ċ import Ġandroidx . core . view . Window Insets Compat Ċ import Ġandroidx . core . view . isVisible Ċ import Ġandroidx . core . view . update Padding Ċ import Ġcom . google . android . material . bottom sheet . Bottom Sheet Dialog Ċ import Ġcom . k ier on qu inn . app . dar q . R Ċ import Ġcom . k ier on qu inn . app . dar q . components . navigation . Navigation Ċ import Ġcom . k ier on qu inn . app . dar q . databinding . Fragment Bottom Sheet Binding Ċ import Ġorg . k oin . android . ext . android . inject ĊĊ Ċ abstract Ġclass ĠBase Bottom Sheet Dialog Fragment Ġ: ĠBase Bottom Sheet Fragment < Fragment Bottom Sheet Binding >( Fragment Bottom Sheet Binding :: inflate ) Ġ{ ĊĊĠĠĠ Ġinternal Ġval Ġnavigation Ġby Ġinject < Navigation >() ĊĊĠĠĠ Ġabstract Ġval Ġtitle : ĠCharSequence ĊĠĠĠ Ġabstract Ġval Ġcontent : ĠCharSequence ĊĊĠĠĠ Ġopen Ġval Ġpositive Text : ĠCharSequence ? Ġ= Ġnull ĊĠĠĠ Ġopen Ġval Ġnegative Text : ĠCharSequence ? Ġ= Ġnull ĊĠĠĠ Ġopen Ġval Ġneutral Text : ĠCharSequence ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate View ( in flater , Ġcontainer , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ ĠView Compat . setOn Apply Window Insets Listener ( binding . root ){ Ġview , Ġin sets Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbottom Inset Ġ= Ġin sets . get Insets ( Window Insets Compat . Type . navigation Bars ()). bottom ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġextra Padding Ġ= Ġresources . get Dimension ( R . dim en . padding _ 1 6 ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . update Padding ( bottom Ġ= Ġbottom Inset Ġ+ Ġextra Padding ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġin sets ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġaccent Color Ġ= Ġmon et . get Accent Color ( require Context ()) ĊĠĠĠĠĠĠĠ Ġbinding . bottom Sheet Positive . setTextColor ( accent Color ) ĊĠĠĠĠĠĠĠ Ġbinding . bottom Sheet Negative . setTextColor ( accent Color ) ĊĠĠĠĠĠĠĠ Ġbinding . bottom Sheet Neutral . setTextColor ( accent Color ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding . bottom Sheet Title . text Ġ= Ġtitle ĊĠĠĠĠĠĠĠ Ġbinding . bottom Sheet Content . text Ġ= Ġcontent ĊĠĠĠĠĠĠĠ Ġif ( positive Text Ġ!= Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . bottom Sheet Positive . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . bottom Sheet Positive . text Ġ= Ġpositive Text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . bottom Sheet Positive . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Positive Clicked ( dialog Ġas ĠBottom Sheet Dialog ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif ( negative Text Ġ!= Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . bottom Sheet Negative . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . bottom Sheet Negative . text Ġ= Ġnegative Text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . bottom Sheet Negative . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Negative Clicked ( dialog Ġas ĠBottom Sheet Dialog ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif ( neutral Text Ġ!= Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . bottom Sheet Neutral . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . bottom Sheet Neutral . text Ġ= Ġneutral Text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . bottom Sheet Neutral . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Neutral Clicked ( dialog Ġas ĠBottom Sheet Dialog ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġon Positive Clicked ( dialog : ĠBottom Sheet Dialog ){ ĊĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġon Negative Clicked ( dialog : ĠBottom Sheet Dialog ){ ĊĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġon Neutral Clicked ( dialog : ĠBottom Sheet Dialog ){ ĊĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠ Ġ} Ċ Ċ }