package Ġcom . example . adv 1 . fragments Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . example . adv 1 . R Ċ import Ġcom . example . adv 1 . adapters . Order Requests Adapter Ċ import Ġcom . example . adv 1 . models . Request Ċ import Ġcom . example . adv 1 . repositories . Repositories Ċ import Ġkotlinx . coroutines . Coroutine Scope Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . launch Ċ import Ġkotlinx . coroutines . tasks . await ĊĊ Ċ class ĠOrder Requests Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġrepositories Ġ= ĠRe positories () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= Ġ Ġinflater . inflate ( R . layout . fragment _ order _ requests , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġorder RecyclerView Ġ= Ġroot . findViewById < RecyclerView >( R . id . orders RecyclerView ) ĊĠĠĠĠĠĠĠ ĠCor outine Scope ( Dispatch ers . Main ). launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrequests Ġ= Ġload Requests () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsetUp RecyclerView ( order RecyclerView , Ġrequests ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġroot ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġload Requests (): ĠArrayList < Request > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequests Ġ= ĠArrayList < Request >() ĊĠĠĠĠĠĠĠ Ġval Ġrequests From DB Ġ= Ġ Ġrepositories . fetch Requests () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. await (). documents ĊĠĠĠĠĠĠĠ Ġval Ġguest s Ġ= ĠArrayList < HashMap < String , ĠString >>() ĊĠĠĠĠĠĠĠ Ġrequests From DB . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġguest s . add ( load Guest Information ( guest ID Ġ= Ġit . id )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġguest s . forEach Ġ{ Ġguest Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠuserID Ġ= Ġguest [" id "] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġusername Ġ= Ġguest [" username "] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠphoneNumber Ġ= Ġguest [" phoneNumber "] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġemail Ġ= Ġguest [" email "] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġorders Ġ= Ġrepositories . fetch Orders ( userID !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where EqualTo (" done ", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. await () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorders . forEach Ġ{ Ġorder Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġorder ID Ġ= Ġorder . id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaddress Ġ= Ġorder . get (" address "). toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtotal Price Ġ= Ġorder . get (" total "). toString (). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġordered Date Ġ= Ġorder . get (" ordered Date "). toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġquantity Ġ= Ġorder . get (" quantity "). toString (). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequests . add ( Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorder ID Ġ= Ġorder ID , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġguest ID Ġ= ĠuserID , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername Ġ= Ġusername !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠphoneNumber Ġ= ĠphoneNumber !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail Ġ= Ġemail !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaddress Ġ= Ġaddress , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtotal Ġ= Ġtotal Price , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġordered Date Ġ= Ġordered Date , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġquantity Ġ= Ġquantity ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġrequests ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġload Guest Information ( guest ID : ĠString ): ĠHashMap < String , ĠString > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinfo Ġ= Ġrepositories . fetch Users (). document ( guest ID ). get (). await () ĊĠĠĠĠĠĠĠ Ġval Ġguest Info Ġ= ĠHashMap < String , ĠString >() ĊĠĠĠĠĠĠĠ Ġguest Info [" id "] Ġ= Ġguest ID ĊĠĠĠĠĠĠĠ Ġguest Info [" username "] Ġ= Ġinfo . get (" username "). toString () ĊĠĠĠĠĠĠĠ Ġguest Info [" email "] Ġ= Ġinfo . get (" email "). toString () ĊĠĠĠĠĠĠĠ Ġguest Info [" phoneNumber "] Ġ= Ġinfo . get (" phone "). toString () ĊĠĠĠĠĠĠĠ Ġreturn Ġguest Info ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠsetUp RecyclerView ( order RecyclerView : ĠRecyclerView ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequests : ĠArrayList < Request >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= Ġcontext ?. let Ġ{ ĠOrder Requests Adapter ( requests , Ġit ) Ġ} ĊĠĠĠĠĠĠĠ Ġorder RecyclerView ?. adapter Ġ= Ġadapter ĊĠĠĠ Ġ} Ċ }