package Ġcom . four teen rows . p 2 pcs . activities . trip . add _ trip . user _ trip Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroidx . core . content . Context Compat . startActivity Ċ import Ġcom . four teen rows . p 2 pcs . activities . trip . add _ trip . Add Trip Activity Ċ import Ġcom . four teen rows . p 2 pcs . model . database . Model Database Ċ import Ġcom . four teen rows . p 2 pcs . model . database . Model Firebase Ċ import Ġcom . four teen rows . p 2 pcs . objects . tri ps . Participant Ċ Ċ class ĠUser Add Trip Presenter ( to View : ĠUser Add Trip Activity , Ġprivate Ġval Ġdatabase : ĠModel Database Ġ= ĠModel Firebase ()) Ġ: ĊĠĠĠ ĠI User Add Trip Presenter , ĠI User Add Trip Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġview Ġ= Ġto View ĊĠĠĠ Ġprivate Ġval Ġparticipants Ġ= ĠArrayList < Participant >() ĊĊĠĠĠ Ġinit Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfetch Users ( email : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdatabase . fetch Users ( email ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add On Complete Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . is Successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . result Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarray Ġ= ĠArrayList < String >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . result !!. forEach Ġ{ Ġuser Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( user . get (" mail "). toString (). contains ( email )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarray . add ( user . get (" mail "). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess ( array ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Failure () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonSuccess ( array : ĠArrayList < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġview . set Recycler Adapter ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUser Add Trip Re cycle Adapter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarray , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Failure () Ġ{ ĊĠĠĠĠĠĠĠ ĠTODO (" not Ġimplemented ") Ġ// To Ġchange Ġbody Ġof Ġcreated Ġfunctions Ġuse ĠFile Ġ| ĠSettings Ġ| ĠFile ĠTemplates . ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Synchron ized ĊĠĠĠ Ġprivate Ġfun Ġadd ToList ( participant : ĠPart icipant ) Ġ{ ĊĠĠĠĠĠĠĠ Ġparticipants . add ( participant ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd Participant ( user Email : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġextras Ġ= Ġview . intent . extras ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġemails : ĠArrayList < String > ĊĠĠĠĠĠĠĠ Ġemails Ġ= Ġif Ġ( extras Ġ!= Ġnull Ġ&& Ġextras . containsKey (" emails ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . intent . getString ArrayList Extra (" emails ") Ġas ĠArrayList < String > ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarray ListOf () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġemails . add ( user Email ) ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( view , ĠAdd Trip Activity :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġstart Ġ= Ġ( view Ġas ĠActivity ). intent . getString Extra (" start ") ĊĠĠĠĠĠĠĠ Ġval Ġend Ġ= Ġ( view Ġas ĠActivity ). intent . getString Extra (" end ") ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" start ", Ġstart ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" end ", Ġend ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" emails ", Ġemails ) ĊĠĠĠĠĠĠĠ ĠstartActivity ( view , Ġintent , Ġnull ) ĊĠĠĠ Ġ} Ċ Ċ }