public abstract class DevSupportManagerBase extends java.lang.Object implements DevSupportManager, DevServerHelper.PackagerCommandListener, DevInternalSettings.Listener
Modifier and Type | Class and Description |
---|---|
protected static interface |
DevSupportManagerBase.BundleLoadCallback |
DevSupportManager.PackagerLocationCustomizer
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
EMOJI_FACE_WITH_NO_GOOD_GESTURE |
static java.lang.String |
EMOJI_HUNDRED_POINTS_SYMBOL |
Constructor and Description |
---|
DevSupportManagerBase(android.content.Context applicationContext,
ReactInstanceManagerDevHelper reactInstanceManagerHelper,
java.lang.String packagerPathForJSBundleName,
boolean enableOnCreate,
int minNumShakes) |
DevSupportManagerBase(android.content.Context applicationContext,
ReactInstanceManagerDevHelper reactInstanceManagerHelper,
java.lang.String packagerPathForJSBundleName,
boolean enableOnCreate,
RedBoxHandler redBoxHandler,
DevBundleDownloadListener devBundleDownloadListener,
int minNumShakes,
java.util.Map<java.lang.String,RequestHandler> customPackagerCommandHandlers) |
Modifier and Type | Method and Description |
---|---|
void |
addCustomDevOption(java.lang.String optionName,
DevOptionHandler optionHandler)
Add option item to dev settings dialog displayed by this manager.
|
android.view.View |
createRootView(java.lang.String appKey) |
java.util.Map<java.lang.String,RequestHandler> |
customCommandHandlers() |
void |
destroyRootView(android.view.View rootView) |
java.io.File |
downloadBundleResourceFromUrlSync(java.lang.String resourceURL,
java.io.File outputFile) |
DeveloperSettings |
getDevSettings() |
boolean |
getDevSupportEnabled() |
java.lang.String |
getDownloadedJSBundleFile() |
java.lang.String |
getJSBundleURLForRemoteDebugging() |
StackFrame[] |
getLastErrorStack() |
java.lang.String |
getLastErrorTitle() |
java.lang.String |
getSourceMapUrl() |
java.lang.String |
getSourceUrl() |
void |
handleException(java.lang.Exception e)
Do something to display or log the exception.
|
void |
handleReloadJS() |
boolean |
hasBundleInAssets(java.lang.String bundleAssetName) |
boolean |
hasUpToDateJSBundleInCache() |
void |
hideRedboxDialog() |
void |
isPackagerRunning(PackagerStatusCallback callback) |
void |
onCaptureHeapCommand(Responder responder) |
void |
onInternalSettingsChanged() |
void |
onNewReactContextCreated(ReactContext reactContext) |
void |
onPackagerConnected() |
void |
onPackagerDevMenuCommand() |
void |
onPackagerDisconnected() |
void |
onPackagerReloadCommand() |
void |
onReactInstanceDestroyed(ReactContext reactContext) |
void |
registerErrorCustomizer(ErrorCustomizer errorCustomizer) |
void |
reloadJSFromServer(java.lang.String bundleURL) |
protected void |
reloadJSFromServer(java.lang.String bundleURL,
DevSupportManagerBase.BundleLoadCallback callback) |
void |
reloadSettings() |
void |
setDevSupportEnabled(boolean isDevSupportEnabled)
ReactInstanceDevCommandsHandler is responsible for enabling/disabling dev support when
a React view is attached/detached or when application state changes (e.g. |
void |
setFpsDebugEnabled(boolean isFpsDebugEnabled) |
void |
setHotModuleReplacementEnabled(boolean isHotModuleReplacementEnabled) |
void |
setPackagerLocationCustomizer(DevSupportManager.PackagerLocationCustomizer packagerLocationCustomizer) |
void |
setRemoteJSDebugEnabled(boolean isRemoteJSDebugEnabled) |
void |
showDevOptionsDialog() |
void |
showNewJavaError(java.lang.String message,
java.lang.Throwable e) |
void |
showNewJSError(java.lang.String message,
ReadableArray details,
int errorCookie) |
void |
startInspector() |
void |
stopInspector() |
void |
toggleElementInspector() |
void |
updateJSError(java.lang.String message,
ReadableArray details,
int errorCookie) |
public static final java.lang.String EMOJI_HUNDRED_POINTS_SYMBOL
public static final java.lang.String EMOJI_FACE_WITH_NO_GOOD_GESTURE
public DevSupportManagerBase(android.content.Context applicationContext, ReactInstanceManagerDevHelper reactInstanceManagerHelper, java.lang.String packagerPathForJSBundleName, boolean enableOnCreate, int minNumShakes)
public DevSupportManagerBase(android.content.Context applicationContext, ReactInstanceManagerDevHelper reactInstanceManagerHelper, java.lang.String packagerPathForJSBundleName, boolean enableOnCreate, RedBoxHandler redBoxHandler, DevBundleDownloadListener devBundleDownloadListener, int minNumShakes, java.util.Map<java.lang.String,RequestHandler> customPackagerCommandHandlers)
public void handleException(java.lang.Exception e)
NativeModuleCallExceptionHandler
handleException
in interface NativeModuleCallExceptionHandler
public void showNewJavaError(java.lang.String message, java.lang.Throwable e)
showNewJavaError
in interface DevSupportManager
public void addCustomDevOption(java.lang.String optionName, DevOptionHandler optionHandler)
addCustomDevOption
in interface DevSupportManager
public void showNewJSError(java.lang.String message, ReadableArray details, int errorCookie)
showNewJSError
in interface DevSupportManager
public void registerErrorCustomizer(ErrorCustomizer errorCustomizer)
registerErrorCustomizer
in interface DevSupportManager
public void updateJSError(java.lang.String message, ReadableArray details, int errorCookie)
updateJSError
in interface DevSupportManager
public void hideRedboxDialog()
hideRedboxDialog
in interface DevSupportManager
public android.view.View createRootView(java.lang.String appKey)
createRootView
in interface DevSupportManager
public void destroyRootView(android.view.View rootView)
destroyRootView
in interface DevSupportManager
public void showDevOptionsDialog()
showDevOptionsDialog
in interface DevSupportManager
public void setDevSupportEnabled(boolean isDevSupportEnabled)
ReactInstanceDevCommandsHandler
is responsible for enabling/disabling dev support when
a React view is attached/detached or when application state changes (e.g. the application is
backgrounded).setDevSupportEnabled
in interface DevSupportManager
public boolean getDevSupportEnabled()
getDevSupportEnabled
in interface DevSupportManager
public DeveloperSettings getDevSettings()
getDevSettings
in interface DevSupportManager
public void onNewReactContextCreated(ReactContext reactContext)
onNewReactContextCreated
in interface DevSupportManager
public void onReactInstanceDestroyed(ReactContext reactContext)
onReactInstanceDestroyed
in interface DevSupportManager
public java.lang.String getSourceMapUrl()
getSourceMapUrl
in interface DevSupportManager
public java.lang.String getSourceUrl()
getSourceUrl
in interface DevSupportManager
public java.lang.String getJSBundleURLForRemoteDebugging()
getJSBundleURLForRemoteDebugging
in interface DevSupportManager
public java.lang.String getDownloadedJSBundleFile()
getDownloadedJSBundleFile
in interface DevSupportManager
public boolean hasUpToDateJSBundleInCache()
hasUpToDateJSBundleInCache
in interface DevSupportManager
true
if ReactInstanceManager
should use downloaded
JS bundle file instead of using JS file from assets. This may happen when app has not been
updated since the last time we fetched the bundle.public boolean hasBundleInAssets(java.lang.String bundleAssetName)
true
if JS bundle exists, in that case ReactInstanceManager
should use that file from assets instead of
downloading bundle from dev serverpublic void reloadSettings()
reloadSettings
in interface DevSupportManager
public void onInternalSettingsChanged()
onInternalSettingsChanged
in interface DevInternalSettings.Listener
public void handleReloadJS()
handleReloadJS
in interface DevSupportManager
public void isPackagerRunning(PackagerStatusCallback callback)
isPackagerRunning
in interface DevSupportManager
public java.io.File downloadBundleResourceFromUrlSync(java.lang.String resourceURL, java.io.File outputFile)
downloadBundleResourceFromUrlSync
in interface DevSupportManager
public java.lang.String getLastErrorTitle()
getLastErrorTitle
in interface DevSupportManager
public StackFrame[] getLastErrorStack()
getLastErrorStack
in interface DevSupportManager
public void onPackagerConnected()
onPackagerConnected
in interface DevServerHelper.PackagerCommandListener
public void onPackagerDisconnected()
onPackagerDisconnected
in interface DevServerHelper.PackagerCommandListener
public void onPackagerReloadCommand()
onPackagerReloadCommand
in interface DevServerHelper.PackagerCommandListener
public void onPackagerDevMenuCommand()
onPackagerDevMenuCommand
in interface DevServerHelper.PackagerCommandListener
public void onCaptureHeapCommand(Responder responder)
onCaptureHeapCommand
in interface DevServerHelper.PackagerCommandListener
public java.util.Map<java.lang.String,RequestHandler> customCommandHandlers()
customCommandHandlers
in interface DevServerHelper.PackagerCommandListener
public void reloadJSFromServer(java.lang.String bundleURL)
reloadJSFromServer
in interface DevSupportManager
protected void reloadJSFromServer(java.lang.String bundleURL, DevSupportManagerBase.BundleLoadCallback callback)
public void startInspector()
startInspector
in interface DevSupportManager
public void stopInspector()
stopInspector
in interface DevSupportManager
public void setHotModuleReplacementEnabled(boolean isHotModuleReplacementEnabled)
setHotModuleReplacementEnabled
in interface DevSupportManager
public void setRemoteJSDebugEnabled(boolean isRemoteJSDebugEnabled)
setRemoteJSDebugEnabled
in interface DevSupportManager
public void setFpsDebugEnabled(boolean isFpsDebugEnabled)
setFpsDebugEnabled
in interface DevSupportManager
public void toggleElementInspector()
toggleElementInspector
in interface DevSupportManager
public void setPackagerLocationCustomizer(DevSupportManager.PackagerLocationCustomizer packagerLocationCustomizer)
setPackagerLocationCustomizer
in interface DevSupportManager