package Ġcom . example . doc scan . utils . dialogs Ċ Ċ import Ġandroidx . lifecycle . Lifecycle Ċ import Ġandroidx . lifecycle . Lifecycle Observer Ċ import Ġandroidx . lifecycle . Lifecycle Owner Ċ import Ġandroidx . lifecycle . On Lifecycle Event ĊĊ Ċ internal Ġfun ĠDialog . show ( lifecycle Owner : ĠLifecycle Owner ) Ġ= Ġapply Ġ{ ĊĠĠĠ Ġshow ( lifecycle Owner . lifecycle ) Ċ } ĊĊ Ċ internal Ġfun ĠDialog . show ( lifecycle : ĠLifecycle ) Ġ= Ġapply Ġ{ ĊĠĠĠ ĠDialog Dis mis ser ( lifecycle ) Ġ{ Ġdismiss () Ġ} ĊĠĠĠ Ġshow () Ċ } ĊĊ Ċ private Ġclass ĠDialog Dis mis ser ( ĊĠĠĠ Ġlifecycle : ĠLifecycle , ĊĠĠĠ Ġprivate Ġval Ġon Dismiss : Ġ() Ġ-> ĠUnit Ċ ) Ġ: ĠLifecycle Observer Ġ{ ĊĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġlifecycle . add Observer ( this ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ On Lifecycle Event ( Lifecycle . Event . ON _ DESTROY ) ĊĠĠĠ Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġon Dismiss () ĊĠĠĠ Ġ} ĊĊ Ċ }