package Ġca . j ose ph ro que . bow ling comp anion . teams . details Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġca . j ose ph ro que . bow ling comp anion . R Ċ import Ġca . j ose ph ro que . bow ling comp anion . common . Android Ċ import Ġca . j ose ph ro que . bow ling comp anion . common . fragments . Base Fragment Ċ import Ġca . j ose ph ro que . bow ling comp anion . common . fragments . List Fragment Ċ import Ġca . j ose ph ro que . bow ling comp anion . common . interfaces . IF loat ing ActionButton Handler Ċ import Ġca . j ose ph ro que . bow ling comp anion . common . interfaces . I Ident ifiable Ċ import Ġca . j ose ph ro que . bow ling comp anion . database . Database Manager Ċ import Ġca . j ose ph ro que . bow ling comp anion . games . Game Controller Fragment Ċ import Ġca . j ose ph ro que . bow ling comp anion . games . Series Provider Ċ import Ġca . j ose ph ro que . bow ling comp anion . le ag ues . League Ċ import Ġca . j ose ph ro que . bow ling comp anion . series . Series Ċ import Ġca . j ose ph ro que . bow ling comp anion . statistics . interfaces . I Statistics Context Ċ import Ġca . j ose ph ro que . bow ling comp anion . statistics . provider . Statistics Provider Ċ import Ġca . j ose ph ro que . bow ling comp anion . teams . Team Ċ import Ġca . j ose ph ro que . bow ling comp anion . teams . team member . Team Member Ċ import Ġca . j ose ph ro que . bow ling comp anion . teams . team member . Team Member Dialog Ċ import Ġca . j ose ph ro que . bow ling comp anion . teams . team member . Team Members List Fragment Ċ import Ġca . j ose ph ro que . bow ling comp anion . utils . Analytics Ċ import Ġca . j ose ph ro que . bow ling comp anion . utils . BC Error Ċ import Ġca . j ose ph ro que . bow ling comp anion . utils . safe Let Ċ import Ġkotlinx . android . synt hetic . main . view _ screen _ header . view .* Ċ import Ġkotlinx . coroutines . experimental . Common Pool Ċ import Ġkotlinx . coroutines . experimental . Deferred Ċ import Ġkotlinx . coroutines . experimental . async Ċ import Ġkotlinx . coroutines . experimental . launch Ċ Ċ /** Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 8 ĠJose ph ĠRo que Ċ Ġ* Ċ Ġ* ĠA Ġfragment Ġrepresenting Ġthe Ġdetails Ġof Ġa Ġsingle Ġteam Ġand Ġits Ġmembers . Ċ Ġ*/ Ċ class ĠTeam Details Fragment Ġ: ĠBase Fragment (), ĊĠĠĠĠĠĠĠ ĠI Floating ActionButton Handler , ĊĠĠĠĠĠĠĠ ĠList Fragment . List Fragment Delegate , ĊĠĠĠĠĠĠĠ ĠTeam Member Dialog . Team Member Dialog Delegate , ĊĠĠĠĠĠĠĠ ĠTeam Members List Fragment . Team Member List Fragment Delegate , ĊĠĠĠĠĠĠĠ ĠI Statistics Context Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" unused ") ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" Team Details Fragment " ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠARG _ TEAM Ġ= Ġ"${ TAG }_ team " ĊĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( team : ĠTeam ): ĠTeam Details Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠTeam Details Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . arguments Ġ= ĠBundle (). apply Ġ{ Ġput Parcelable ( ARG _ TEAM , Ġteam ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġstatistics Providers : ĠList < Statistics Provider > Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġteam Ġ= Ġteam ĊĠĠĠĠĠĠĠ Ġreturn @ lazy Ġif Ġ( team Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarray ListOf ( Statistics Provider . Team Statistics ( team )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġempty List < Statistics Provider >() ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġteam : ĠTeam ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġall Team Members Ready : ĠBoolean Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( field Ġ!= Ġvalue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch ( Android ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfab Provider ?. invalidate Fab () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠMARK : ĠLifecycle Ġfunctions ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġteam Ġ= Ġarguments ?. get Parcelable ( ARG _ TEAM ) ĊĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . fragment _ team _ details , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġsetup Header ( view ) ĊĊĠĠĠĠĠĠĠ Ġval Ġteam Ġ= Ġteam ĊĠĠĠĠĠĠĠ Ġif Ġ( savedInstanceState Ġ== Ġnull Ġ&& Ġteam Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠTeam Members List Fragment . newInstance ( team ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild FragmentManager . beginTransaction (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( R . id . fragment _ container , Ġfragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcommit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġfab Provider ?. invalidate Fab () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠMARK : ĠBase Fragment ĊĊĠĠĠ Ġoverride Ġfun Ġupdate Toolbar Title () Ġ{ ĊĠĠĠĠĠĠĠ Ġteam ?. let Ġ{ Ġnavigation Activity ?. set Toolbar Title ( it . name ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠMARK : ĠI Floating ActionButton Handler ĊĊĠĠĠ Ġoverride Ġfun Ġget Fab Image (): ĠInt ? Ġ= Ġif Ġ( all Team Members Ready ) ĠR . drawable . ic _ ball Ġelse Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġon Fab Click () Ġ{ ĊĠĠĠĠĠĠĠ Ġsafe Let ( context , Ġteam ) Ġ{ Ġcontext , Ġteam Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġneeds New Pract ice Series Ġ= Ġteam . members . any Ġ{ Ġit . league ?. is Pract ice Ġ== Ġtrue Ġ&& Ġit . series Ġ== Ġnull Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( needs New Pract ice Series ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLeague . show Pract ice Games Picker ( context , Ġ:: launch Attempt To B owl ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch Attempt To B owl () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠMARK : ĠList Fragment Delegate ĊĊĠĠĠ Ġoverride Ġfun Ġon ItemSelected ( item : ĠI Ident ifiable , Ġlong Press : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( item Ġis ĠTeam Member ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠTeam Member Dialog . newInstance ( item ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Navigation ?. push Dialog Fragment ( fragment ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Item Deleted ( item : ĠI Ident ifiable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInt ention ally Ġleft Ġblank ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠMARK : ĠTeam Member Dialog Delegate ĊĊĠĠĠ Ġoverride Ġfun Ġon Finish Team Member ( team Member : ĠTeam Member ) Ġ{ ĊĠĠĠĠĠĠĠ Ġchild FragmentManager . fragments ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit Ġ!= Ġnull Ġ&& Ġit . isVisible Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġit Ġas ? ĠTeam Members List Fragment Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . refresh List ( team Member ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġteam Ġ= Ġteam ?. replace Team Member ( team Member ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠMARK : ĠTeam Member List Fragment Delegate ĊĊĠĠĠ Ġoverride Ġfun Ġon Team Members Ready Changed ( ready : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġall Team Members Ready Ġ= Ġready ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Team Members Re ordered ( order : ĠList < Long >) Ġ{ ĊĠĠĠĠĠĠĠ Ġteam ?. let Ġ{ Ġteam Ġ= ĠTeam ( it . id , Ġit . name , Ġit . members , Ġorder ) Ġ} ĊĊĠĠĠĠĠĠĠ ĠAnalytics . track Re order Team Members () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠMARK : ĠPrivate Ġfunctions ĊĊĠĠĠ Ġprivate Ġfun Ġsetup Header ( root View : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġroot View . tv _ header _ title . setText ( R . string . team _ members ) ĊĠĠĠĠĠĠĠ Ġroot View . tv _ header _ caption . setText ( R . string . team _ members _ select _ league ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlaunch Attempt To B owl ( practice NumberOf Games : ĠInt Ġ= Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġcontext Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġlaunch ( Android ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġerror Ġ= Ġattempt To B owl ( practice NumberOf Games ). await () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( error Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror . show ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ launch ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġteam Ġ= Ġthis @ Team Details Fragment . team ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( team Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠGame Controller Fragment . newInstance ( Series Provider . Team Series ( team )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Navigation ?. push Fragment ( fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBC Error (). show ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġattempt To B owl ( practice NumberOf Games : ĠInt ): ĠDeferred < BC Error ?> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġasync ( Common Pool ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġthis @ Team Details Fragment . context Ġ?: Ġreturn @ async ĠBC Error () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġteam Ġ= Ġthis @ Team Details Fragment . team Ġ?: Ġreturn @ async ĠBC Error () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( all Team Members Ready ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġall Team Members Ready Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġteam Member Series : ĠMutable Map < Team Member , ĠSeries > Ġ= ĠHashMap () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCreate Ġseries Ġin Ġthe Ġdatabase Ġfor Ġeach Ġteam Ġmember , Ġif Ġone Ġdoes Ġnot Ġexist , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġor Ġretrieve Ġthe Ġexisting Ġseries Ġif Ġit Ġdoes . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdatabase Ġ= ĠDatabase Manager . get Writable Database ( context ). await () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġteam . members . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġle ague Ġ= Ġit . league !! ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġle ague . is Event Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġevent Series Ġ= Ġle ague . fetch Series ( context ). await () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( event Series . size Ġ== Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġteam Member Series [ it ] Ġ= Ġevent Series . first () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . series Ġ== Ġnull Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! database . in Transaction ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġ( new Series , Ġseries Error ) Ġ= Ġle ague . createNew Series ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext Ġ= Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen Database Ġ= Ġdatabase , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠnumberOf Pract ice Games Override Ġ= Ġpractice NumberOf Games ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). await () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( new Series Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġteam Member Series [ it ] Ġ= Ġnew Series ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( series Error Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ async Ġseries Error ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġteam Member Series [ it ] Ġ= Ġit . series ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( database . in Transaction ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . set Transaction Successful () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( database . in Transaction ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . end Transaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠReplace Ġimmutable Ġ[ Team Member ] Ġinstances Ġwith Ġupdated Ġseries ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmembers With Series Ġ= Ġteam . members . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ map ĠTeam Member ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġteam Id Ġ= Ġit . team Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb ow ler Name Ġ= Ġit . bow ler Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb ow ler Id Ġ= Ġit . bow ler Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġle ague Ġ= Ġit . league , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġseries Ġ= Ġteam Member Series [ it ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠReplace Ġteam Ġwith Ġupdated Ġmembers ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Team Details Fragment . team Ġ= ĠTeam ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġteam . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġteam . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmembers Ġ= Ġmembers With Series , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinitial Order Ġ= Ġteam . order ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ async Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ