package Ġcom . the wiz rd . simple weather . fragments Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . annotation . Int Def Ċ import Ġandroidx . annotation . String Res Ċ import Ġandroidx . lifecycle . lifecycle Scope Ċ import Ġandroidx . we ar . widget . Swipe Dismiss Frame Layout Ċ import Ġcom . the wiz rd . shared _ resources . utils . Settings Manager Ċ import Ġcom . the wiz rd . simple weather . App Ċ import Ġcom . the wiz rd . simple weather . databinding . Activity Settings Binding Ċ import Ġkotlinx . coroutines . Coroutine Scope Ċ import Ġkotlinx . coroutines . launch Ċ import Ġkotlin . coroutines . Coroutine Context Ċ import Ġkotlin . coroutines . Empty Coroutine Context Ċ Ċ abstract Ġclass ĠSw ipe Dismiss Preference Fragment Ġ: ĠLifecycle Preference Fragment () Ġ{ ĊĠĠĠ Ġ@ Int Def ( Toast . LENGTH _ SHORT , ĠToast . LENGTH _ LONG ) ĊĠĠĠ Ġ@ Retention ( Annotation Retention . SOURCE ) ĊĠĠĠ Ġannotation Ġclass ĠToast Duration ĊĊĠĠĠ Ġvar Ġparent Activity : ĠActivity ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĠĠĠ Ġprotected Ġval Ġsettings Manager : ĠSettings Manager Ġ= ĠApp . instance . settings Manager ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠActivity Settings Binding ĊĠĠĠ Ġprivate Ġvar Ġswipe Callback : ĠSw ipe Dismiss Frame Layout . Callback ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĠĠĠĠĠĠĠ Ġparent Activity Ġ= Ġcontext Ġas ĠActivity ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detach () Ġ{ ĊĠĠĠĠĠĠĠ Ġparent Activity Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġsuper . on Detach () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġparent Activity Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠonCreate Preferences ( savedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Restricted Api ") ĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠActivity Settings Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġinfl ated View Ġ= Ġsuper . onCreate View ( in flater , Ġcontainer , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġbinding . swipe Layout . addView ( in fl ated View ) ĊĠĠĠĠĠĠĠ Ġbinding . swipe Layout . is Swipe able Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġswipe Callback Ġ= Ġobject Ġ: ĠSw ipe Dismiss Frame Layout . Callback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Dis missed ( layout : ĠSw ipe Dismiss Frame Layout ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent Activity ?. on Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . swipe Layout . add Callback ( swipe Callback ) ĊĠĠĠĠĠĠĠ Ġbinding . swipe Layout . request Focus () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . swipe Layout ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . swipe Layout . remove Callback ( swipe Callback ) ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun ĠonCreate Preferences ( savedInstanceState : ĠBundle ?) ĊĊĠĠĠ Ġfun Ġshow Toast (@ String Res Ġres Id : ĠInt , Ġ@ Toast Duration Ġduration : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlifecycle Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( parent Activity Ġ!= Ġnull Ġ&& Ġis Visible ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( parent Activity , Ġres Id , Ġduration ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Toast ( message : ĠCharSequence ?, Ġ@ Toast Duration Ġduration : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlifecycle Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( parent Activity Ġ!= Ġnull Ġ&& Ġis Visible ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( parent Activity , Ġmessage , Ġduration ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLa unches Ġand Ġruns Ġthe Ġgiven Ġrunnable Ġif Ġthe Ġfragment Ġis Ġat Ġleast Ġinitialized ĊĠĠĠĠ Ġ* ĠThe Ġaction Ġwill Ġbe Ġsign alled Ġto Ġcancel Ġif Ġthe Ġfragment Ġgoes Ġinto Ġthe Ġdestroyed Ġstate ĊĠĠĠĠ Ġ* ĠNote : ĠThis Ġwill Ġrun Ġon Ġthe ĠUI Ġthread ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext Ġadditional Ġto Ġ[ Coroutine Scope . coroutine Context ] Ġcontext Ġof Ġthe Ġcoroutine . ĊĠĠĠĠ Ġ* Ġ@ param Ġblock Ġthe Ġcoroutine Ġcode Ġwhich Ġwill Ġbe Ġinvoked Ġin Ġthe Ġcontext Ġof Ġthe Ġview Life Cycle Owner Ġlifecycle Ġscope . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġrun With View ( context : ĠCor outine Context Ġ= ĠEmpty Coroutine Context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblock : Ġsuspend ĠCor outine Scope . () Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Catch ing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Lifecycle Owner . lifecycle Scope ĊĠĠĠĠĠĠĠ Ġ}. on Failure Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġno - op ĊĠĠĠĠĠĠĠ Ġ}. on Success Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . launch ( context Ġ= Ġcontext , Ġblock Ġ= Ġblock ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }