package Ġcom . sha . food _ delivery _ app . view Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . air bnb . mv rx .* Ċ import Ġcom . sha . food _ delivery _ app . view model . Food Items ViewModel Ċ import Ġcom . sha . food _ delivery _ app . R Ċ import Ġcom . sha . food _ delivery _ app . adapter . Food Items Adapter Ċ import Ġkotlinx . android . synt hetic . main . food items _ fragment .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠSh ah ul ĠH ame ed ĠSh a ik Ġon Ġ 1 3 / 1 2 / 2 0 2 0 . Ċ Ġ*/ Ċ class ĠFood Items Fragment Ġ: ĠFragment (), ĠM v Rx View Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠFood Items ViewModel Ġby Ġactivity ViewModel () ĊĊĠĠĠ Ġprivate Ġvar Ġadapter Ġ: ĠFood Items Adapter ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġfood ItemName : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġlistener : ĠListener ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . food items _ fragment , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġadapter Ġ= ĠFood Items Adapter ( object Ġ: ĠFood Items Adapter . Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠaddTo Cart ( itemId : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . add Food Item To Cart ( itemId ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener ?. added To Cart () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġfood Items RecyclerView . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ ĠviewModel . fetch Main Food Item Data ( food ItemName !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinvalidate () Ġ= Ġwith State ( viewModel ) Ġ{ Ġstate Ġ-> ĊĠĠĠĠĠĠĠ Ġwhen Ġ( state . main Food Data Item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLoading Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress _ bar . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfood Items RecyclerView . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSuccess Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress _ bar . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfood Items RecyclerView . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter !!. set Food Items ( state . main Food Data Item . invoke (). items ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFail Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( require Context (), Ġ" Failed Ġto Ġload Ġall Ġmovies ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( food ItemName : ĠString , Ġlistener : ĠListener ): ĠFood Items Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠFood Items Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . food ItemName Ġ= Ġfood ItemName ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . listener Ġ= Ġlistener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġadded To Cart () ĊĠĠĠ Ġ} Ċ Ċ }