/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 9 ĠM oh amed ĠAl aa Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ċ Ġ* Ġsoftware Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġm oh amed al aa . ma utils . core _ android . custom _ classes . dialog _ fragments Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view .* Ċ import Ġandroid . widget . ProgressBar Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . annotation . Color Int Ċ import Ġandroidx . annotation . Style Res Ċ import Ġandroidx . lifecycle . Android ViewModel Ċ import Ġm oh amed al aa . ma utils . core _ android . R Ċ import Ġm oh amed al aa . ma utils . core _ android . extensions .* Ċ Ċ /** Ċ Ġ* Ġ### ĠUsage Ċ Ġ* Ċ Ġ* Ġ- ĠShows Ġfullscreen Ġloading Ġ[ ProgressBar ] Ġdialog Ġwhich Ġis Ġnon - dismiss - able Ġ& Ġnon - cancel able Ċ Ġ* Ġuntil Ġyou Ġexplicitly Ġdismiss Ġthe Ġdialog Ġisa . Ċ Ġ* Ċ Ġ* Ġ### ĠProperties Ċ Ġ* Ġ- Ġ[ backgroundColor ] Ċ Ġ* Ġ- Ġ[ try ing To Dismiss Toast Msg ] Ċ Ġ* Ġ- Ġ[ style Res ] Ċ Ġ* Ċ Ġ* Ġ@ property ĠbackgroundColor Ġbackground Ġcolor Ġof Ġthe Ġfullscreen Ġdialog Ġisa . Ċ Ġ* Ġ@ property Ġtrying To Dismiss Toast Msg Ġif Ġ[ on Back Pressed ] Ġis Ġinvoked Ġthen Ġinstead Ġthis Ġmessage Ġwill Ġbe Ċ Ġ* Ġshown Ġand Ġif Ġ[ String ] Ġis Ġ` null ` Ġoe Ġempty Ġthen Ġ[ R . string . loading _ please _ wait ] Ġis Ġused Ġinstead Ġisa . Ċ Ġ* Ġ@ property Ġstyle Res Ġin Ġcase Ġyou Ġwant Ġto Ġinsert Ġspecific Ġ[ style Res ] Ġto Ġchange Ġthe Ġ[ ProgressBar ] Ċ Ġ* Ġcolor Ġisa . Ċ Ġ* Ċ Ġ* Ġ@ see ĠAndroid ViewModel . before And After Dismiss In Loading Dialog Ċ Ġ*/ Ċ class ĠM AL o ading Dialog Fragment ( ĊĠĠĠ Ġ@ Color Int Ġprivate Ġvar ĠbackgroundColor : ĠInt ? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġvar Ġtrying To Dismiss Toast Msg : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġ@ Style Res Ġprivate Ġvar Ġstyle Res : ĠInt Ġ= Ġ 0 Ċ ) Ġ: ĠM AD ialog Fragment ( height Is Match Pre nt Ġ= Ġtrue , Ġcanceled On Touch Outside Ġ= Ġfalse ) Ġ{ ĊĊĠĠĠ Ġinternal Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠPREFIX : ĠString Ġ= ĠM AL o ading Dialog Fragment :: class . java . name ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠKEY _ BACKGROUND _ COLOR Ġ= Ġ"${ PREFIX }_ " Ġ+ Ġ" KEY _ BACKGROUND _ COLOR " ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠKEY _ TRY ING _ TO _ DIS MIS S _ TO AST _ MSG Ġ= Ġ"${ PREFIX }_ " Ġ+ Ġ" KEY _ TRY ING _ TO _ DIS MIS S _ TO AST _ MSG " ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠKEY _ STYLE _ RES Ġ= Ġ"${ PREFIX }_ " Ġ+ Ġ" KEY _ STYLE _ RES " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġarguments Ġ= Ġ( arguments Ġ?: ĠBundle ()). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Values With Keys ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKEY _ BACKGROUND _ COLOR Ġto ĠbackgroundColor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKEY _ TRY ING _ TO _ DIS MIS S _ TO AST _ MSG Ġto Ġtrying To Dismiss Toast Msg , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKEY _ STYLE _ RES Ġto Ġstyle Res ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġarguments ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠbackgroundColor Ġ= Ġget OrNull ( KEY _ TRY ING _ TO _ DIS MIS S _ TO AST _ MSG ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrying To Dismiss Toast Msg Ġ= Ġget OrNull ( KEY _ TRY ING _ TO _ DIS MIS S _ TO AST _ MSG ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Res Ġ= Ġget OrNull ( KEY _ TRY ING _ TO _ DIS MIS S _ TO AST _ MSG ) Ġ?: Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( style Res Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Style ( STYLE _ NORMAL , Ġstyle Res ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠWindow . onCreate Dialog Window Changes () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠbackgroundColor Ġ= Ġ( backgroundColor Ġ?: Ġ( context ?. getColor From Res ( R . color . black _ alpha _ 2 5 )) Ġ?: ĠColor . parse Color ("# 4 0 0 0 0 0 0 0 ")) ĊĠĠĠĠĠĠĠ Ġset Background Drawable ( backgroundColor . to Drawable ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmsg Ġ= Ġtrying To Dismiss Toast Msg . or Empty (). run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( isNotEmpty ()) Ġthis Ġelse ĠgetString ( R . string . loading _ please _ wait ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcontext ?. toast ( msg , Ġduration Ġ= ĠToast . LENGTH _ LONG ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . dialog _ fragment _ loading , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} Ċ Ċ } ĊĊ