From 8e3ccaadf2bd4f74fb4260e0c8900c0aaaeedb09 Mon Sep 17 00:00:00 2001 From: Ram N Date: Sat, 6 Jul 2019 10:28:51 -0700 Subject: [PATCH] Re-add Start/Stop Sampling profiler in Dev Menu for Android Reviewed By: yinghuitan Differential Revision: D16069122 fbshipit-source-id: 179ba7ec709731f4b861dc4367df357e93e025f2 --- .../react/devsupport/DevInternalSettings.java | 1 + .../devsupport/DevSupportManagerImpl.java | 21 +++++++++++++++++++ .../main/res/devsupport/values/strings.xml | 2 ++ 3 files changed, 24 insertions(+) diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.java index 9474e2396d4..a653763be6d 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.java @@ -36,6 +36,7 @@ public class DevInternalSettings private static final String PREFS_INSPECTOR_DEBUG_KEY = "inspector_debug"; private static final String PREFS_HOT_MODULE_REPLACEMENT_KEY = "hot_module_replacement"; private static final String PREFS_REMOTE_JS_DEBUG_KEY = "remote_js_debug"; + private static final String PREFS_SAMPLING_PROFILER_ENABLED = "sampling_profiler_enabled"; private final SharedPreferences mPreferences; private final Listener mListener; 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 9d101741a48..0fea0516b9f 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java @@ -95,6 +95,9 @@ public class DevSupportManagerImpl private static final int JSEXCEPTION_ERROR_COOKIE = -1; private static final String JS_BUNDLE_FILE_NAME = "ReactNativeDevBundle.js"; private static final String RELOAD_APP_ACTION_SUFFIX = ".RELOAD_APP_ACTION"; + private static final String ENABLE_SAMPLING_PROFILER = ".ENABLE_SAMPLING_PROFILER"; + private static final String DISABLE_SAMPLING_PROFILER = ".DISABLE_SAMPLING_PROFILER"; + private boolean mIsSamplingProfilerEnabled = false; private enum ErrorType { JS, @@ -543,6 +546,24 @@ public class DevSupportManagerImpl } } }); + options.put( + mIsSamplingProfilerEnabled + ? mApplicationContext.getString(R.string.catalyst_sample_profiler_disable) + : mApplicationContext.getString(R.string.catalyst_sample_profiler_enable), + new DevOptionHandler() { + @Override + public void onOptionSelected() { + Intent intent = + new Intent( + mApplicationContext.getPackageName() + + (mIsSamplingProfilerEnabled + ? DISABLE_SAMPLING_PROFILER + : ENABLE_SAMPLING_PROFILER)); + mApplicationContext.sendBroadcast(intent); + mIsSamplingProfilerEnabled = !mIsSamplingProfilerEnabled; + } + }); + options.put( mDevSettings.isFpsDebugEnabled() ? mApplicationContext.getString(R.string.catalyst_perf_monitor_stop) diff --git a/ReactAndroid/src/main/res/devsupport/values/strings.xml b/ReactAndroid/src/main/res/devsupport/values/strings.xml index 750b8acffed..82db0a9b7ec 100644 --- a/ReactAndroid/src/main/res/devsupport/values/strings.xml +++ b/ReactAndroid/src/main/res/devsupport/values/strings.xml @@ -26,4 +26,6 @@ Copy\n Report Loading from %1$s… + Disable Sampling Profiler + Enable Sampling Profiler