package Ġcom . bad oo . ri bs . android . dialog Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . lifecycle . Lifecycle Ċ import Ġcom . bad oo . ri bs . android . subscribe Ċ import Ġjava . util . Weak HashMap Ċ Ċ class ĠAlertDialog Launcher ( ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġlifecycle : ĠLifecycle Ċ ) Ġ: ĠDialog Launcher Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġdialog s : ĠMutable Map < Dialog <* >, ĠAlertDialog > Ġ= ĠWeak HashMap () ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġlifecycle . subscribe ( on Destroy Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog s . values . forEach Ġ{ Ġit . dismiss () Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow ( dialog : ĠDialog <* >, ĠonClose : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdialog s [ dialog ] Ġ= Ġdialog . to AlertDialog ( context , ĠonClose ). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide ( dialog : ĠDialog <* >) Ġ{ ĊĠĠĠĠĠĠĠ Ġdialog s [ dialog ]?. dismiss () ĊĠĠĠ Ġ} Ċ Ċ } Ċ