@@ -13,6 +13,7 @@ import com.facebook.react.devsupport.DoubleTapReloadRecognizer
13
13
import com.facebook.react.modules.core.PermissionListener
14
14
import com.facebook.react.bridge.Callback
15
15
import com.facebook.react.bridge.ReadableMap
16
+ import com.facebook.react.common.DebugServerException
16
17
import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler
17
18
import com.facebook.react.modules.core.PermissionAwareActivity
18
19
@@ -39,10 +40,9 @@ class ReactNativeActivity : ReactActivity(), DefaultHardwareBackBtnHandler, Perm
39
40
)
40
41
41
42
supportActionBar?.hide()
42
-
43
43
setContentView(reactRootView)
44
-
45
44
doubleTapReloadRecognizer = DoubleTapReloadRecognizer ()
45
+ checkPackagerConnection()
46
46
}
47
47
48
48
override fun onDestroy () {
@@ -145,6 +145,21 @@ class ReactNativeActivity : ReactActivity(), DefaultHardwareBackBtnHandler, Perm
145
145
}
146
146
}
147
147
148
+ private fun checkPackagerConnection () {
149
+ if (ReactNativeBrownfield .shared.reactNativeHost.hasInstance() && ReactNativeBrownfield .shared.reactNativeHost.useDeveloperSupport) {
150
+ val devSupportManager =
151
+ ReactNativeBrownfield .shared.reactNativeHost.reactInstanceManager.devSupportManager
152
+ val url = devSupportManager.sourceUrl
153
+ devSupportManager?.isPackagerRunning { isRunning ->
154
+ if (! isRunning) {
155
+ val error = Error ()
156
+ val message = DebugServerException .makeGeneric(url, " Could not connect to development server." , " URL: $url " , error).message
157
+ devSupportManager.showNewJavaError(message, error)
158
+ }
159
+ }
160
+ }
161
+ }
162
+
148
163
companion object {
149
164
@JvmStatic
150
165
@JvmOverloads
0 commit comments