package Ġcom . th ak urn it in 2 6 8 4 . co def or ces . ui . gallery Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . view . View Compat . set Nested Scrolling Enabled Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġcom . th ak urn it in 2 6 8 4 . co def or ces . Cont est List Ċ import Ġcom . th ak urn it in 2 6 8 4 . co def or ces . Part icip ated Cont ests Ċ import Ġcom . th ak urn it in 2 6 8 4 . co def or ces . R Ċ import Ġcom . th ak urn it in 2 6 8 4 . co def or ces . ui . home . For WebView Home Ċ import Ġcom . th ak urn it in 2 6 8 4 . co def or ces . ui . home . Home ViewModel Ċ import Ġkotlinx . android . synt hetic . main . fragment _ gallery .* Ċ import Ġkotlinx . android . synt hetic . main . fragment _ gallery . view .* Ċ import Ġorg . json . JSONException Ċ import Ġorg . json . JSONObject ĊĊ Ċ private Ġconst Ġval ĠTAG Ġ= Ġ" Gallery Fragment " Ċ Ċ class ĠGallery Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġvar Ġbefore Cont ests Ġ= ĠArrayList < JSONObject >() ĊĠĠĠ Ġvar Ġpat ri Cont ests Ġ= ĠArrayList < JSONObject >() ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġhome ViewModel : ĠHome ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġhome ViewModel Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠViewModel Providers . of ( this ). get ( Home ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= Ġinflater . inflate ( R . layout . fragment _ gallery , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġset Nested Scrolling Enabled ( root , true ) ĊĊĠĠĠĠĠĠĠ Ġval Ġweb view : ĠFragment ? Ġ= Ġrequire Activity (). support FragmentManager . find Fragment By Tag (" Home Fragment ") ĊĠĠĠĠĠĠĠ Ġif Ġ( webview Ġis ĠFor WebView Home ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( webview . isVisible ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Activity (). support FragmentManager . beginTransaction (). remove ( webview ). commit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" contest ĠList Ġ$ Cont est List ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Cont est List Ġ!= Ġ"") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Cont est List ( JSONObject ( Cont est List ), Ġroot ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( Part icip ated Cont ests Ġ!= Ġ"") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparticip ated Cont ests ( JSONObject ( Part icip ated Cont ests ), Ġroot ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġroot ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġval Ġfeed Adapter Ġ= ĠFeed Adapter ( this . require Context (), ĠR . layout . list _ record , Ġbefore Cont ests ) ĊĠĠĠĠĠĠĠ ĠUp coming Cont est View . adapter Ġ= Ġfeed Adapter ĊĠĠĠĠĠĠĠ Ġval Ġfeed Adapter 2 Ġ= ĠFeed Adapter 2 ( this . require Context (), ĠR . layout . part icip ated _ contest _ record , pat ri Cont ests ) ĊĠĠĠĠĠĠĠ Ġparticip ated Cont est View . adapter Ġ= Ġfeed Adapter 2 ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġfun Ġput Cont est List ( list : ĠJSONObject , Ġview : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" put Cont est List Ġcalled ") ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult array Ġ= Ġlist . get JSONArray (" result ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġ 1 5 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtemp Ġ= Ġresult array . getJSONObject ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( temp . getString (" phase ") Ġ== Ġ" BEFORE ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbefore Cont ests . add ( temp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( before Cont ests . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbefore Cont ests . reverse () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġbefore Cont ests . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Up coming Cont est . text Ġ= Ġ" No ĠUp coming ĠCont est " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠJSON Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" put Items Ġends ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġfun Ġparticip ated Cont ests ( list : ĠJSONObject , Ġview : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" part icip ated Cont ests Ġcalled ") ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult array Ġ= Ġlist . get JSONArray (" result ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . No Of Cont ests . text = result array . length (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġresult array . length ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtemp Ġ= Ġresult array . getJSONObject ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpat ri Cont ests . add ( temp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpat ri Cont ests . reverse () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġpat ri Cont ests . toString ()) ĊĊĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠJSON Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" part icip ated Cont ests Ġends ") ĊĠĠĠ Ġ} Ċ } Ċ