package Ġcom . ky bers wap . android . presentation . base Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . Progress Dialog Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . coordinator layout . widget . Coordinator Layout Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġcom . ky bers wap . android . Ky ber Swap Application Ċ import Ġcom . ky bers wap . android . R Ċ import Ġcom . ky bers wap . android . presentation . common . Alert Activity Ċ import Ġcom . ky bers wap . android . presentation . common . Alert Without Icon Activity Ċ import Ġcom . ky bers wap . android . presentation . main . MainActivity Ċ import Ġdagger . android . support . D agger Fragment Ċ Ċ abstract Ġclass ĠBase Fragment Ġ: ĠD agger Fragment () Ġ{ ĊĠĠĠ Ġvar Ġdialog : ĠProgress Dialog ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġalert Listener : Ġ() Ġ-> ĠUnit Ġ= Ġ{} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Loading Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġdialog Ġ= ĠProgress Dialog ( this . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Message ( getString ( R . string . message _ loading )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Canceled On Touch Outside ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Cancel able ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġinit Loading Dialog () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġshow Progress ( show Progress : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( show Progress ) Ġdialog ?. show () Ġelse Ġdialog ?. dismiss () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Alert ( message : ĠString , Ġlistener : Ġ() Ġ-> ĠUnit Ġ= Ġ{}) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( context Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . alert Listener Ġ= Ġlistener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠAlert Activity . new Intent ( context !! , Ġmessage ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , ĠSHOW _ ALERT ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Error ( message : ĠString , Ġlistener : Ġ() Ġ-> ĠUnit Ġ= Ġ{}) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Alert Without Icon ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . title _ error ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmessage , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDEFAULT _ ALERT _ TIME _ SECONDS , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Error Icon ( message : ĠString , Ġlistener : Ġ() Ġ-> ĠUnit Ġ= Ġ{}) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Alert ( message , ĠR . drawable . ic _ info _ error , Ġlistener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow ErrorMessage ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Alert Without Icon ( title Ġ= ĠgetString ( R . string . title _ error ), Ġmessage Ġ= Ġmessage ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Alert Without Icon ( ĊĠĠĠĠĠĠĠ Ġtitle : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġmessage : ĠString , ĊĠĠĠĠĠĠĠ Ġtime In Second : ĠInt Ġ= Ġ 3 , ĊĠĠĠĠĠĠĠ Ġlistener : Ġ() Ġ-> ĠUnit Ġ= Ġ{} ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( context Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . alert Listener Ġ= Ġlistener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠAlert Without Icon Activity . new Intent ( context !! , Ġtitle , Ġmessage , Ġtime In Second ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , ĠSHOW _ ALERT ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Alert ( message : ĠString , Ġresource Icon : ĠInt , Ġlistener : Ġ() Ġ-> ĠUnit Ġ= Ġ{}) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( context Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . alert Listener Ġ= Ġlistener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠAlert Activity . new Intent ( context !! , Ġmessage , Ġresource Icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , ĠSHOW _ ALERT ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== ĠSHOW _ ALERT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ== ĠActivity . RESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalert Listener . invoke () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Network Un Available () Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Alert Without Icon ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= ĠgetString ( R . string . title _ error ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= ĠgetString ( R . string . no _ internet _ connect ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġshow Message Long ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( view Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( view !! , Ġmessage , ĠSn ackbar . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġcurrent Fragment : ĠFragment ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ( activity Ġas ĠMainActivity ). getCurrent Fragment () Ġ?: Ġthis ĊĊĠĠĠ Ġval Ġprofile Fragment : ĠFragment ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ( activity Ġas ĠMainActivity ). profile Fragment Ġ?: Ġthis ĊĊĠĠĠ Ġfun Ġdisplay Sn ackBar With Bottom Margin ( sn ackbar : ĠSn ackbar , ĠmarginBottom : ĠInt Ġ= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsn ackBar View Ġ= Ġsn ackbar . view ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġsn ackBar View . layout Params Ġas ĠCoord inator Layout . LayoutParams ĊĊĠĠĠĠĠĠĠ Ġparams . set Margins ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams . left Margin , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams . top Margin , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams . right Margin , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams . bottom Margin Ġ+ ĠmarginBottom ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġsn ackBar View . layout Params Ġ= Ġparams ĊĠĠĠĠĠĠĠ Ġsn ackbar . show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSHOW _ ALERT Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDEFAULT _ ALERT _ TIME _ SECONDS Ġ= Ġ 3 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstop Counter () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġactivity ?. application Context ĊĠĠĠĠĠĠĠ Ġif Ġ( context Ġis ĠK y ber Swap Application ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . stop Counter () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstart Counter () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġactivity ?. application Context ĊĠĠĠĠĠĠĠ Ġif Ġ( context Ġis ĠK y ber Swap Application ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . start Counter () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ