/* čĊ Ġ* ĠBSD Ġ 3 - Clause ĠLicense čĊ Ġ* čĊ Ġ* ĠCopyright Ġ 2 0 1 8 Ġ ĠS age ĠB ion etwork s . ĠAll Ġrights Ġreserved . čĊ Ġ* čĊ Ġ* ĠRedistribution Ġand Ġuse Ġin Ġsource Ġand Ġbinary Ġforms , Ġwith Ġor Ġwithout Ġmodification , čĊ Ġ* Ġare Ġpermitted Ġprovided Ġthat Ġthe Ġfollowing Ġconditions Ġare Ġmet : čĊ Ġ* čĊ Ġ* Ġ 1 . Ġ ĠRedistributions Ġof Ġsource Ġcode Ġmust Ġretain Ġthe Ġabove Ġcopyright Ġnotice , Ġthis čĊ Ġ* Ġlist Ġof Ġconditions Ġand Ġthe Ġfollowing Ġdisclaimer . čĊ Ġ* čĊ Ġ* Ġ 2 . Ġ ĠRedistributions Ġin Ġbinary Ġform Ġmust Ġreproduce Ġthe Ġabove Ġcopyright Ġnotice , čĊ Ġ* Ġthis Ġlist Ġof Ġconditions Ġand Ġthe Ġfollowing Ġdisclaimer Ġin Ġthe Ġdocumentation Ġand / or čĊ Ġ* Ġother Ġmaterials Ġprovided Ġwith Ġthe Ġdistribution . čĊ Ġ* čĊ Ġ* Ġ 3 . Ġ ĠNeither Ġthe Ġname Ġof Ġthe Ġcopyright Ġholder ( s ) Ġnor Ġthe Ġnames Ġof Ġany Ġcontributors čĊ Ġ* Ġmay Ġbe Ġused Ġto Ġendorse Ġor Ġpromote Ġproducts Ġderived Ġfrom Ġthis Ġsoftware Ġwithout čĊ Ġ* Ġspecific Ġprior Ġwritten Ġpermission . ĠNo Ġlicense Ġis Ġgranted Ġto Ġthe Ġtrade marks Ġof čĊ Ġ* Ġthe Ġcopyright Ġhold ers Ġeven Ġif Ġsuch Ġmarks Ġare Ġincluded Ġin Ġthis Ġsoftware . čĊ Ġ* čĊ Ġ* ĠTHIS ĠSOFTWARE ĠIS ĠPROVIDED ĠBY ĠTHE ĠCOPYRIGHT ĠHOLDERS ĠAND ĠCONTRIBUTORS Ġ" AS ĠIS " čĊ Ġ* ĠAND ĠANY ĠEXPRESS ĠOR ĠIMPLIED ĠWARRANTIES , ĠINCLUDING , ĠBUT ĠNOT ĠLIMITED ĠTO , ĠTHE čĊ Ġ* ĠIMPLIED ĠWARRANTIES ĠOF ĠMERCHANTABILITY ĠAND ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE čĊ Ġ* ĠARE ĠDISCLAIMED . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE ĠCOPYRIGHT ĠOWNER ĠOR ĠCONTRIBUTORS ĠBE ĠLIABLE čĊ Ġ* ĠFOR ĠANY ĠDIRECT , ĠINDIRECT , ĠINCIDENTAL , ĠSPECIAL , ĠEXEMPLARY , ĠOR ĠCONSEQUENTIAL čĊ Ġ* ĠDAMAGES Ġ( INCLUDING , ĠBUT ĠNOT ĠLIMITED ĠTO , ĠPROCUREMENT ĠOF ĠSUBSTITUTE ĠGOODS ĠOR čĊ Ġ* ĠSERVICES ; ĠLOSS ĠOF ĠUSE , ĠDATA , ĠOR ĠPROFITS ; ĠOR ĠBUSINESS ĠINTERRUPTION ) ĠHOWEVER čĊ Ġ* ĠCAUSED ĠAND ĠON ĠANY ĠTHEORY ĠOF ĠLIABILITY , ĠWHETHER ĠIN ĠCONTRACT , ĠSTRICT ĠLIABILITY , čĊ Ġ* ĠOR ĠTORT Ġ( INCLUDING ĠNEGLIGENCE ĠOR ĠOTHERWISE ) ĠARISING ĠIN ĠANY ĠWAY ĠOUT ĠOF ĠTHE ĠUSE čĊ Ġ* ĠOF ĠTHIS ĠSOFTWARE , ĠEVEN ĠIF ĠADVISED ĠOF ĠTHE ĠPOSSIBILITY ĠOF ĠSUCH ĠDAMAGE . čĊ Ġ*/ čĊč Ċ package Ġorg . sage b ion etwork s . research . mp ower čĊč Ċ import Ġandroid . content . Intent č Ċ import Ġorg . sage b ion etwork s . bridge . android . access . Bridge Access Fragment č Ċ import Ġorg . sage b ion etwork s . bridge . android . manager . Authentication Manager č Ċ import Ġorg . slf 4 j . LoggerFactory č Ċ import Ġjavax . inject . Inject čĊč Ċ class ĠEntry Fragment Ġ: ĠBridge Access Fragment () Ġ{ čĊčĊĠĠĠ Ġ@ Inject čĊĠĠĠ Ġlateinit Ġvar Ġauthentication Manager : ĠAuthentication Manager čĊčĊĠĠĠ Ġoverride Ġfun Ġon Require Authentication () Ġ{ čĊĠĠĠĠĠĠĠ ĠLOGGER . debug (" Showing ĠM p Phone Auth Activity ") čĊčĊĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( context , ĠM p Phone Auth Activity :: class . java )) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġon Require Consent () Ġ{ čĊĠĠĠĠĠĠĠ ĠLOGGER . debug (" Showing ĠWeb Consent Fragment ") čĊčĊĠĠĠĠĠĠĠ Ġchild FragmentManager . beginTransaction () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( R . id . container , ĠWeb Consent Fragment ()) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġon Access Granted () Ġ{ čĊĠĠĠĠĠĠĠ ĠLOGGER . debug (" Showing ĠMain Fragment ") čĊčĊĠĠĠĠĠĠĠ Ġif Ġ( is Missing Clin ical Consent ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠLOGGER . info (" clin ical _ consent Ġdata Ġgroup Ġrequired , Ġeven Ġfor Ġconsent ed Ġusers ") čĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Require Consent () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġif Ġ( child FragmentManager . fragments . isEmpty () Ġ|| Ġ! child FragmentManager . fragments [ 0 ]. isVisible Ġ|| Ġ!( child FragmentManager . fragments [ 0 ] Ġis ĠMain Fragment )) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild FragmentManager . beginTransaction () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( R . id . container , ĠMain Fragment ()) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠRequires Ġparticipants Ġto Ġhave Ġclin ical _ consent Ġdata Ġgroup čĊĠĠĠĠ Ġ* ĠWeb Ġconsent Ġfragment Ġitself Ġuses Ġa Ġfeature Ġflag Ġto Ġdetermine Ġwhere Ġparticipants Ġare Ġsent čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġfun Ġis Missing Clin ical Consent (): ĠBoolean Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn Ġresources . getBoolean ( R . bool . require _ clin ical _ consent ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġ!( authentication Manager . user Session Info ?. data Groups Ġ?: ĠlistOf ()). contains (" clin ical _ consent ") čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) čĊĠĠĠĠĠĠĠ Ġ// ĠDue Ġto Ġa Ġbehavior Ġissue Ġin Ġnested Ġchild Ġfragments čĊĠĠĠĠĠĠĠ Ġ// ĠWe Ġmust Ġcall Ġthe Ġon Activity Result Ġon Ġall Ġthe Ġchildren čĊĠĠĠĠĠĠĠ Ġfor Ġ( fragment Ġin Ġchild FragmentManager . fragments ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠLOGGER . info (" Calling Ġon Activity Result Ġfor Ġfragment Ġ" Ġ+ Ġfragment . id ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . on Activity Result ( request Code , ĠresultCode , Ġdata ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġcompanion Ġobject Ġ{ čĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠLOGGER Ġ= ĠLoggerFactory . getLogger ( Entry Fragment :: class . java ) čĊĠĠĠ Ġ} č Ċ } čĊ