diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevLoadingViewController.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevLoadingViewController.java index d8f4f319aab..36b6eb07ec8 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevLoadingViewController.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevLoadingViewController.java @@ -81,7 +81,7 @@ public class DevLoadingViewController { return; } - showMessage(context.getString(R.string.catalyst_remotedbg_message)); + showMessage(context.getString(R.string.catalyst_debug_connecting)); } public void updateProgress(final @Nullable String status, final @Nullable Integer done, final @Nullable Integer total) { diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java index f7d9748c967..2f70a32292e 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java @@ -275,7 +275,7 @@ public class DevServerHelper { @Override protected void onPostExecute(Boolean result) { if (!result) { - String message = context.getString(R.string.catalyst_debugjs_nuclide_failure); + String message = context.getString(R.string.catalyst_debug_nuclide_error); Toast.makeText(context, message, Toast.LENGTH_LONG).show(); } } diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java index 5938ce067ec..dfc241c5109 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java @@ -422,69 +422,48 @@ public class DevSupportManagerImpl implements LinkedHashMap options = new LinkedHashMap<>(); /* register standard options */ options.put( - mApplicationContext.getString(R.string.catalyst_reloadjs), - new DevOptionHandler() { - @Override - public void onOptionSelected() { - if (!mDevSettings.isJSDevModeEnabled() && mDevSettings.isHotModuleReplacementEnabled()) { - Toast.makeText(mApplicationContext, "HMR cannot be enabled when Dev mode is off. Disabling HMR...", Toast.LENGTH_LONG).show(); - mDevSettings.setHotModuleReplacementEnabled(false); - } - handleReloadJS(); - } - }); - if (mDevSettings.isNuclideJSDebugEnabled()) { - String nuclideJsDebugMenuItemTitle = - mApplicationContext.getString(R.string.catalyst_debugjs_nuclide); - options.put( - nuclideJsDebugMenuItemTitle, - new DevOptionHandler() { - @Override - public void onOptionSelected() { - mDevServerHelper.attachDebugger(mApplicationContext, "ReactNative"); - } - }); - } - String remoteJsDebugMenuItemTitle = - mDevSettings.isRemoteJSDebugEnabled() - ? mApplicationContext.getString(R.string.catalyst_debugjs_off) - : mApplicationContext.getString(R.string.catalyst_debugjs); - options.put( - remoteJsDebugMenuItemTitle, - new DevOptionHandler() { - @Override - public void onOptionSelected() { - mDevSettings.setRemoteJSDebugEnabled(!mDevSettings.isRemoteJSDebugEnabled()); - handleReloadJS(); - } - }); - options.put( - mDevSettings.isReloadOnJSChangeEnabled() - ? mApplicationContext.getString(R.string.catalyst_live_reload_off) - : mApplicationContext.getString(R.string.catalyst_live_reload), + mApplicationContext.getString(R.string.catalyst_reload), new DevOptionHandler() { @Override public void onOptionSelected() { - mDevSettings.setReloadOnJSChangeEnabled(!mDevSettings.isReloadOnJSChangeEnabled()); + if (!mDevSettings.isJSDevModeEnabled() && mDevSettings.isHotModuleReplacementEnabled()) { + Toast.makeText( + mApplicationContext, + mApplicationContext.getString(R.string.catalyst_hot_reloading_auto_disable), + Toast.LENGTH_LONG).show(); + mDevSettings.setHotModuleReplacementEnabled(false); + } + handleReloadJS(); } }); options.put( - mDevSettings.isHotModuleReplacementEnabled() - ? mApplicationContext.getString(R.string.catalyst_hot_module_replacement_off) - : mApplicationContext.getString(R.string.catalyst_hot_module_replacement), - new DevOptionHandler() { - @Override - public void onOptionSelected() { - if (!mDevSettings.isHotModuleReplacementEnabled() && !mDevSettings.isJSDevModeEnabled()) { - Toast.makeText(mApplicationContext, "You're trying to enable HMR while Dev mode is off. Turning both HMR and the Dev mode on...", Toast.LENGTH_LONG).show(); - mDevSettings.setJSDevModeEnabled(true); - } - mDevSettings.setHotModuleReplacementEnabled(!mDevSettings.isHotModuleReplacementEnabled()); - handleReloadJS(); - } - }); + mDevSettings.isNuclideJSDebugEnabled() + ? mDevSettings.isRemoteJSDebugEnabled() + ? mApplicationContext.getString(R.string.catalyst_debug_chrome_stop) + : mApplicationContext.getString(R.string.catalyst_debug_chrome) + : mDevSettings.isRemoteJSDebugEnabled() + ? mApplicationContext.getString(R.string.catalyst_debug_stop) + : mApplicationContext.getString(R.string.catalyst_debug), + new DevOptionHandler() { + @Override + public void onOptionSelected() { + mDevSettings.setRemoteJSDebugEnabled(!mDevSettings.isRemoteJSDebugEnabled()); + handleReloadJS(); + } + }); + if (mDevSettings.isNuclideJSDebugEnabled()) { + options.put( + mApplicationContext.getString(R.string.catalyst_debug_nuclide), + new DevOptionHandler() { + @Override + public void onOptionSelected() { + mDevServerHelper.attachDebugger(mApplicationContext, "ReactNative"); + } + }); + } options.put( - mApplicationContext.getString(R.string.catalyst_element_inspector), + // NOTE: `isElementInspectorEnabled` is not guaranteed to be accurate. + mApplicationContext.getString(R.string.catalyst_inspector), new DevOptionHandler() { @Override public void onOptionSelected() { @@ -492,9 +471,37 @@ public class DevSupportManagerImpl implements mReactInstanceManagerHelper.toggleElementInspector(); } }); + options.put( + mDevSettings.isReloadOnJSChangeEnabled() + ? mApplicationContext.getString(R.string.catalyst_reload_on_save_stop) + : mApplicationContext.getString(R.string.catalyst_reload_on_save), + new DevOptionHandler() { + @Override + public void onOptionSelected() { + mDevSettings.setReloadOnJSChangeEnabled(!mDevSettings.isReloadOnJSChangeEnabled()); + } + }); + options.put( + mDevSettings.isHotModuleReplacementEnabled() + ? mApplicationContext.getString(R.string.catalyst_hot_reloading_stop) + : mApplicationContext.getString(R.string.catalyst_hot_reloading), + new DevOptionHandler() { + @Override + public void onOptionSelected() { + if (!mDevSettings.isHotModuleReplacementEnabled() && !mDevSettings.isJSDevModeEnabled()) { + Toast.makeText( + mApplicationContext, + mApplicationContext.getString(R.string.catalyst_hot_reloading_auto_enable), + Toast.LENGTH_LONG).show(); + mDevSettings.setJSDevModeEnabled(true); + } + mDevSettings.setHotModuleReplacementEnabled(!mDevSettings.isHotModuleReplacementEnabled()); + handleReloadJS(); + } + }); options.put( mDevSettings.isFpsDebugEnabled() - ? mApplicationContext.getString(R.string.catalyst_perf_monitor_off) + ? mApplicationContext.getString(R.string.catalyst_perf_monitor_stop) : mApplicationContext.getString(R.string.catalyst_perf_monitor), new DevOptionHandler() { @Override @@ -884,10 +891,10 @@ public class DevSupportManagerImpl implements public void onFailure(final Throwable cause) { mDevLoadingViewController.hide(); mDevLoadingViewVisible = false; - FLog.e(ReactConstants.TAG, "Unable to connect to remote debugger", cause); + FLog.e(ReactConstants.TAG, "Failed to connect to debugger!", cause); future.setException( new IOException( - mApplicationContext.getString(R.string.catalyst_remotedbg_error), cause)); + mApplicationContext.getString(R.string.catalyst_debug_error), cause)); } }; } @@ -951,7 +958,7 @@ public class DevSupportManagerImpl implements showNewJavaError(debugServerException.getMessage(), cause); } else { showNewJavaError( - mApplicationContext.getString(R.string.catalyst_jsload_error), + mApplicationContext.getString(R.string.catalyst_reload_error), cause); } } diff --git a/ReactAndroid/src/main/res/devsupport/values/strings.xml b/ReactAndroid/src/main/res/devsupport/values/strings.xml index 125f48d6195..4b04fddbbc7 100644 --- a/ReactAndroid/src/main/res/devsupport/values/strings.xml +++ b/ReactAndroid/src/main/res/devsupport/values/strings.xml @@ -1,22 +1,26 @@ - Reload - Debug JS in Nuclide - The request to attach Nuclide could not reach Metro Bundler! - Debug JS Remotely - Stop Remote JS Debugging - Enable Hot Reloading - Disable Hot Reloading - Enable Live Reload - Disable Live Reload + Reload + Failed to load bundle. Try restarting the bundler or reconnecting your device. + Debug + Stop Debugging + Connecting to debugger... + Failed to connect to debugger! + Debug with Chrome + Stop Chrome Debugging + Debug with Nuclide + Failed to communicate with the bundler to enabling debugging with Nuclide. + Enable Reload-on-Save + Disable Reload-on-Save + Enable Hot Reloading + Disable Hot Reloading + Disabling hot reloading because it requires a development bundle. + Switching to development bundle in order to enable hot reloading. + Toggle Inspector Show Perf Monitor - Hide Perf Monitor - Dev Settings - Catalyst Dev Settings - Unable to download JS bundle. Did you forget to start the development server or connect your device? - Connecting to remote debugger - Unable to connect with remote debugger - Toggle Inspector + Hide Perf Monitor + Settings + Debug Settings Capture Heap Dismiss\n(ESC) Reload\n(R,\u00A0R)