/* Ċ Ġ* ĠLicensed Ġto Ġthe ĠApache ĠSoftware ĠFoundation Ġ( ASF ) Ġunder Ġone Ċ Ġ* Ġor Ġmore Ġcontributor Ġlicense Ġagreements . Ġ ĠSee Ġthe ĠNOTICE Ġfile Ċ Ġ* Ġdistributed Ġwith Ġthis Ġwork Ġfor Ġadditional Ġinformation Ċ Ġ* Ġregarding Ġcopyright Ġownership . Ġ ĠThe ĠASF Ġlicenses Ġthis Ġfile Ċ Ġ* Ġto Ġyou Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ċ Ġ* Ġ" License "); Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ċ Ġ* Ġwith Ġthe ĠLicense . Ġ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ċ Ġ* Ġsoftware Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ċ Ġ* Ġ" AS ĠIS " ĠBASIS , ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY Ċ Ġ* ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ġ ĠSee Ġthe ĠLicense Ġfor Ġthe Ċ Ġ* Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ġlimitations Ċ Ġ* Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . h ud l . oss . react . fragment Ċ Ċ import Ġandroid . annotation . Target Api Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . provider . Settings Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . view . KeyEvent Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Toast Ċ Ċ import Ġcom . facebook . infer . annotation . Assertions Ċ import Ġcom . facebook . react . React Application Ċ import Ġcom . facebook . react . React Native Host Ċ import Ġcom . facebook . react . React Root View Ċ import Ġcom . facebook . react . common . Lifecycle State Ċ import Ġcom . facebook . react . dev support . Double Tap Reload Recognizer Ċ import Ġcom . facebook . react . modules . core . Default Hardware Back Btn Handler Ċ import Ġcom . facebook . react . modules . core . Permission Aware Activity Ċ import Ġcom . facebook . react . modules . core . Permission Listener ĊĊ Ċ /** Ċ Ġ* ĠA Ġ[ Fragment ] Ġwhich Ġloads Ġa ĠReact ĠNative ĠComponent Ġfrom Ġyour ĠReact ĠNative ĠJS ĠBundle . Ċ Ġ* Ċ Ġ* Ċ Ġ* ĠNOTE : ĠYou Ġcan Ġachieve Ġthe Ġsame Ġbehaviour Ġwith Ġan ĠActivity Ġby Ġextending Ċ Ġ* Ġ[ com . facebook . react . React Activity ] Ċ Ġ*/ Ċ class ĠReact Fragment Ġ: ĠFragment (), ĠPermission Aware Activity Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġm Component Name : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Launch Options : ĠBundle ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġm React Root View : ĠReact Root View ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġm Double Tap Reload Recognizer : ĠDouble Tap Reload Recognizer ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġm Permission Listener : ĠPermission Listener ? Ġ= Ġnull ĊĊĠĠĠ Ġ// Ġend region ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġthe Ġ[ React Native Host ] Ġused Ġby Ġthis Ġapp . ĠBy Ġdefault , Ġassumes ĊĠĠĠĠ Ġ* Ġ[ Activity . getApplication ] Ġis Ġan Ġinstance Ġof Ġ[ React Application ] Ġand Ġcalls ĊĠĠĠĠ Ġ* Ġ[ React Application . get React Native Host ]. ĠOverride Ġthis Ġmethod Ġif Ġyour Ġapplication Ġclass ĊĠĠĠĠ Ġ* Ġdoes Ġnot Ġimplement Ġ` React Application ` Ġor Ġyou Ġsimply Ġhave Ġa Ġdifferent Ġmechanism Ġfor ĊĠĠĠĠ Ġ* Ġstoring Ġa Ġ` React Native Host `, Ġe . g . Ġas Ġa Ġstatic Ġfield Ġsomewhere . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġval Ġreact Native Host : ĠReact Native Host ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ( activity !!. application Ġas ĠReact Application ). get React Native Host () ĊĊĠĠĠ Ġ// Ġregion ĠLifecycle ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġif Ġ( arguments Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Component Name Ġ= Ġarguments !!. getString ( ARG _ COMPONENT _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Launch Options Ġ= Ġarguments !!. get Bundle ( ARG _ LA UNCH _ OPTIONS ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( m Component Name Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" Cannot Ġload App Ġif Ġcomponent Ġname Ġis Ġnull ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Double Tap Reload Recognizer Ġ= ĠDouble Tap Reload Recognizer () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġneed To Enable Dev Menu Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġif Ġ( react Native Host . get Use Developer Support () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& ĠBuild . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . M ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġ! Settings . can Draw Overlay s ( context )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠGet Ġpermission Ġto Ġshow Ġred box Ġin Ġdev Ġbuilds . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġneed To Enable Dev Menu Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġservice Intent Ġ= ĠIntent ( Settings . ACTION _ MANAGE _ OVER LAY _ PERMISSION , ĠUri . parse (" package :" Ġ+ Ġcontext !!. packageName )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , ĠRED BOX _ PERMISSION _ MESSAGE , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( service Intent , ĠREQUEST _ OVER LAY _ CODE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm React Root View Ġ= ĠReact Root View ( context ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! need To Enable Dev Menu ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm React Root View !!. start React Application ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreact Native Host . get React Instance Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Component Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Launch Options ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġm React Root View ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġif Ġ( react Native Host . has Instance ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreact Native Host . get React Instance Manager (). on Host Resume ( activity , Ġactivity Ġas ĠDefault Hardware Back Btn Handler ?) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġif Ġ( react Native Host . has Instance ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreact Native Host . get React Instance Manager (). on Host Pause ( activity ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġif Ġ( m React Root View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm React Root View !!. un mount React Application () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm React Root View Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( react Native Host . has Instance ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġreact Instance Mgr Ġ= Ġreact Native Host . get React Instance Manager () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreact Instance Mgr . on Host Destroy ( activity ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġon Destroy Ġmay Ġbe Ġcalled Ġon Ġa ĠReact Fragment Ġafter Ġanother ĠReact Fragment Ġhas Ġbeen ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcreated Ġand Ġres umed Ġwith Ġthe Ġsame ĠReact ĠInstance ĠManager . ĠMake Ġsure Ġwe Ġonly Ġclean Ġup ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġhost 's ĠReact ĠInstance ĠManager Ġif Ġno Ġother ĠReact ĠFragment Ġis Ġactively Ġusing Ġit . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( react Instance Mgr . get Lifecycle State () Ġ!== ĠLifecycle State . RE SU MED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreact Native Host . clear () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġend region ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġcurrently Ġonly Ġchecks Ġto Ġsee Ġif Ġwe 've Ġenabled Ġthe Ġpermission Ġto Ġdraw Ġover Ġother Ġapps . ĊĠĠĠĠ Ġ* ĠThis Ġis Ġonly Ġused Ġin Ġdebug / developer Ġmode Ġand Ġis Ġotherwise Ġnot Ġused . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġrequest Code ĠCode Ġthat Ġrequested Ġthe Ġactivity ĊĠĠĠĠ Ġ* Ġ@ param ĠresultCode Ġ ĠCode Ġwhich Ġdescribes Ġthe Ġresult ĊĠĠĠĠ Ġ* Ġ@ param Ġdata ĠĠĠĠĠĠĠ ĠAny Ġdata Ġpassed Ġfrom Ġthe Ġactivity ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== ĠREQUEST _ OVER LAY _ CODE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& ĠBuild . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . M ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& ĠSettings . can Draw Overlay s ( context )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm React Root View !!. start React Application ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreact Native Host . get React Instance Manager (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Component Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Launch Options ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , ĠRED BOX _ PERMISSION _ GRAN TED _ MESSAGE , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Request Permissions Result ( request Code : ĠInt , Ġpermissions : ĠArray < String >, Ġgrant Results : ĠInt Array ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Request Permissions Result ( request Code , Ġpermissions , Ġgrant Results ) ĊĠĠĠĠĠĠĠ Ġif Ġ( m Permission Listener Ġ!= Ġnull Ġ&& Ġm Permission Listener !!. on Request Permissions Result ( request Code , Ġpermissions , Ġgrant Results )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Permission Listener Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġregion ĠPermission Aware Activity ĊĊĠĠĠ Ġoverride Ġfun Ġcheck Permission ( permission : ĠString , Ġpid : ĠInt , Ġuid : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġactivity !!. check Permission ( permission , Ġpid , Ġuid ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Target Api ( Build . VERSION _ CODES . M ) ĊĠĠĠ Ġoverride Ġfun Ġcheck Self Permission ( permission : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġactivity !!. check Self Permission ( permission ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Target Api ( Build . VERSION _ CODES . M ) ĊĠĠĠ Ġoverride Ġfun Ġrequest Permissions ( permissions : ĠArray < String >, Ġrequest Code : ĠInt , Ġlistener : ĠPermission Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Permission Listener Ġ= Ġlistener ĊĠĠĠĠĠĠĠ Ġrequest Permissions ( permissions , Ġrequest Code ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġend region ĊĊĠĠĠ Ġ// Ġregion ĠHelpers ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠHelper Ġto Ġforward Ġhardware Ġback Ġp resses Ġto Ġour ĠReact ĠNative ĠHost ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( react Native Host . has Instance ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreact Native Host . get React Instance Manager (). on Back Pressed () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠHelper Ġto Ġforward Ġon KeyUp Ġcommands Ġfrom Ġour Ġhost ĠActivity . ĊĠĠĠĠ Ġ* ĠThis Ġallows ĠReact Fragment Ġto Ġhandle Ġdouble Ġtap Ġre loads Ġand Ġdev Ġmenus ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param ĠkeyCode ĠkeyCode ĊĠĠĠĠ Ġ* Ġ@ param Ġevent ĠĠ Ġevent ĊĠĠĠĠ Ġ* Ġ@ return Ġtrue Ġif Ġwe Ġhandled Ġon KeyUp ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġon KeyUp ( keyCode : ĠInt , Ġevent : ĠKeyEvent ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġhandled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( react Native Host . get Use Developer Support () Ġ&& Ġreact Native Host . has Instance ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( keyCode Ġ== ĠKeyEvent . KEYCODE _ MENU ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreact Native Host . get React Instance Manager (). show Dev Options Dialog () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdid Double Tap R Ġ= ĠAssertions . assertNotNull ( m Double Tap Reload Recognizer ). did Double Tap R ( keyCode , Ġactivity !!. current Focus ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( did Double Tap R ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreact Native Host . get React Instance Manager (). get Dev Support Manager (). handle Reload JS () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġhandled ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠBuilder Ġclass Ġto Ġhelp Ġinstantiate Ġa Ġ[ React Fragment ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġclass ĠBuilder ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġnew ĠBuilder Ġfor Ġcreating Ġa Ġ[ React Fragment ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcomponent Name ĠThe Ġname Ġof Ġyour ĠReact ĠNative Ġcomponent ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ( private Ġval Ġm Component Name : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġm Launch Options : ĠBundle ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠSet Ġthe ĠLaunch ĠOptions Ġfor Ġour ĠReact ĠNative Ġinstance . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġlaunch Options Ġlaunch Options ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġset Launch Options ( launch Options : ĠBundle ): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Launch Options Ġ= Ġlaunch Options ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġbuild (): ĠReact Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠReact Fragment . newInstance ( m Component Name , Ġm Launch Options ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval ĠREQUEST _ OVER LAY _ CODE Ġ= Ġ 1 1 1 1 ĊĠĠĠĠĠĠĠ Ġval ĠARG _ COMPONENT _ NAME Ġ= Ġ" arg _ component _ name " ĊĠĠĠĠĠĠĠ Ġval ĠARG _ LA UNCH _ OPTIONS Ġ= Ġ" arg _ launch _ options " ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠRED BOX _ PERMISSION _ MESSAGE Ġ= Ġ" Overlay Ġpermissions Ġneed Ġto Ġbe Ġgranted Ġin Ġorder Ġfor Ġreact Ġnative Ġapps Ġto Ġrun Ġin Ġdev Ġmode ." ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠRED BOX _ PERMISSION _ GRAN TED _ MESSAGE Ġ= Ġ" Overlay Ġpermissions Ġhave Ġbeen Ġgranted ." ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġcomponent Name ĠThe Ġname Ġof Ġthe Ġreact Ġnative Ġcomponent ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġlaunch Options ĠOptional Ġlaunch Ġoptions ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠA Ġnew Ġinstance Ġof Ġfragment ĠReact Fragment . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġnew Instance ( component Name : ĠString , Ġlaunch Options : ĠBundle ?): ĠReact Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠReact Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġargs Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġargs . putString ( ARG _ COMPONENT _ NAME , Ġcomponent Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġargs . put Bundle ( ARG _ LA UNCH _ OPTIONS , Ġlaunch Options ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . arguments Ġ= Ġargs ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }