@@ -98,6 +98,11 @@ class ApplicationLinker {
9898 }
9999
100100 _extendNavigationHost ( applicationContent ) {
101+ if ( this . _hasAlreadyLinkedNavigationHost ( applicationContent ) ) {
102+ warnn ( ' NavigationReactNativeHost is already used, skipping.' ) ;
103+ return applicationContent ;
104+ }
105+
101106 if ( this . _doesExtendReactNativeHost ( applicationContent ) ) {
102107 debugn ( ' Changing host implementation to NavigationReactNativeHost' ) ;
103108 return applicationContent
@@ -106,11 +111,14 @@ class ApplicationLinker {
106111 'import com.facebook.react.ReactNativeHost;' ,
107112 'import com.facebook.react.ReactNativeHost;\nimport com.reactnativenavigation.react.NavigationReactNativeHost;'
108113 ) ;
109- }
110-
111- if ( this . _hasAlreadyLinkedNavigationHost ( applicationContent ) ) {
112- warnn ( ' NavigationReactNativeHost is already used, skipping.' ) ;
113- return applicationContent ;
114+ } else if ( this . _doesExtendDefaultReactNativeHost ( applicationContent ) ) {
115+ debugn ( ' Changing host implementation to NavigationReactNativeHost' ) ;
116+ return applicationContent
117+ . replace ( 'new DefaultReactNativeHost(this)' , 'new NavigationReactNativeHost(this)' )
118+ . replace (
119+ 'import com.facebook.react.defaults.DefaultReactNativeHost;' ,
120+ 'import com.facebook.react.defaults.DefaultReactNativeHost;\nimport com.reactnativenavigation.react.NavigationReactNativeHost;'
121+ ) ;
114122 }
115123
116124 throw new Error ( 'There was a problem extending NavigationReactNativeHost().' ) ;
@@ -120,6 +128,10 @@ class ApplicationLinker {
120128 return / \s * n e w R e a c t N a t i v e H o s t \( t h i s \) \s * / . test ( applicationContent ) ;
121129 }
122130
131+ _doesExtendDefaultReactNativeHost ( applicationContent ) {
132+ return / \s * n e w D e f a u l t R e a c t N a t i v e H o s t \( t h i s \) \s * / . test ( applicationContent ) ;
133+ }
134+
123135 _hasAlreadyLinkedNavigationHost ( applicationContent ) {
124136 return / \s * n e w N a v i g a t i o n R e a c t N a t i v e H o s t \( t h i s \) \s * / . test ( applicationContent ) ;
125137 }
0 commit comments