package Ġcom . the wiz rd . simple weather . fragments Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . annotation . Call Super Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . the wiz rd . shared _ resources . lifecycle . Lifecycle Aware Fragment Ċ 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 . sn ackbar . Snackbar Ċ import Ġcom . the wiz rd . simple weather . sn ackbar . Snackbar Manager Ċ import Ġcom . the wiz rd . simple weather . sn ackbar . Snackbar Manager Interface Ċ Ċ abstract Ġclass ĠCustom Fragment Ġ: ĠLifecycle Aware Fragment (), ĠSn ackbar Manager Interface Ġ{ ĊĠĠĠ Ġvar Ġapp Compat Activity : ĠAppCompatActivity ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĠĠĠ Ġprivate Ġvar Ġm Sn ack Mgr : ĠSn ackbar Manager ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġval Ġsettings Mgr Ġ= ĠApp . instance . settings Manager ĊĠĠĠ Ġprotected Ġfun Ġget Settings Manager (): ĠSettings Manager Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsettings Mgr ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġoverride Ġfun Ġcreate Sn ack Manager (): ĠSn ackbar Manager ĊĊĠĠĠ Ġ@ Call Super ĊĠĠĠ Ġoverride Ġfun Ġinit Sn ack Manager () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Sn ack Mgr Ġ= Ġcreate Sn ack Manager () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Snackbar ( sn ackbar : ĠSn ackbar , Ġcallback : Ġcom . google . android . material . sn ackbar . Snackbar . Callback ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġrun With View Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( app Compat Activity Ġ!= Ġnull Ġ&& Ġis Visible ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Sn ack Mgr Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Sn ack Mgr Ġ= Ġcreate Sn ack Manager () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSn ackbar Ġmay Ġcheck Ġhigher Ġup Ġin Ġthe Ġview Ġhierarchy ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCheck Ġif Ġfragment Ġis Ġattached ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Sn ack Mgr ?. show ( sn ackbar , Ġcallback ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdismiss All Sn ack bars () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun On Ui Thread Ġ{ Ġm Sn ack Mgr ?. dismiss All () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġun load Sn ack Manager () Ġ{ ĊĠĠĠĠĠĠĠ Ġdismiss All Sn ack bars () ĊĠĠĠĠĠĠĠ Ġm Sn ack Mgr Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĠĠĠĠĠĠĠ Ġapp Compat Activity Ġ= Ġcontext Ġas ĠAppCompatActivity ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detach () Ġ{ ĊĠĠĠĠĠĠĠ Ġapp Compat Activity Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġsuper . on Detach () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġif Ġ(! is Hidden ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit Sn ack Manager () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss All Sn ack bars () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġun load Sn ack Manager () ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġapp Compat Activity Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠ Ġ} Ċ }