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 2899be2b8..2a1a4b68e 100644
--- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.java
+++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.java
@@ -39,12 +39,12 @@ public class DevInternalSettings implements
private static final String PREFS_REMOTE_JS_DEBUG_KEY = "remote_js_debug";
private final SharedPreferences mPreferences;
- private final DevSupportManager mDebugManager;
+ private final Listener mListener;
public DevInternalSettings(
Context applicationContext,
- DevSupportManager debugManager) {
- mDebugManager = debugManager;
+ Listener listener) {
+ mListener = listener;
mPreferences = PreferenceManager.getDefaultSharedPreferences(applicationContext);
mPreferences.registerOnSharedPreferenceChangeListener(this);
}
@@ -78,11 +78,13 @@ public class DevInternalSettings implements
}
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
- if (PREFS_FPS_DEBUG_KEY.equals(key) ||
- PREFS_RELOAD_ON_JS_CHANGE_KEY.equals(key) ||
- PREFS_JS_DEV_MODE_DEBUG_KEY.equals(key) ||
- PREFS_JS_MINIFY_DEBUG_KEY.equals(key)) {
- mDebugManager.reloadSettings();
+ if (mListener != null) {
+ if (PREFS_FPS_DEBUG_KEY.equals(key) ||
+ PREFS_RELOAD_ON_JS_CHANGE_KEY.equals(key) ||
+ PREFS_JS_DEV_MODE_DEBUG_KEY.equals(key) ||
+ PREFS_JS_MINIFY_DEBUG_KEY.equals(key)) {
+ mListener.onInternalSettingsChanged();
+ }
}
}
@@ -119,4 +121,8 @@ public class DevInternalSettings implements
public void setRemoteJSDebugEnabled(boolean remoteJSDebugEnabled) {
mPreferences.edit().putBoolean(PREFS_REMOTE_JS_DEBUG_KEY, remoteJSDebugEnabled).apply();
}
+
+ public interface Listener {
+ void onInternalSettingsChanged();
+ }
}
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 8df95e2a9..40adde916 100644
--- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java
+++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java
@@ -86,7 +86,10 @@ import okhttp3.ws.WebSocket;
* {@code }
* {@code }
*/
-public class DevSupportManagerImpl implements DevSupportManager, PackagerCommandListener {
+public class DevSupportManagerImpl implements
+ DevSupportManager,
+ PackagerCommandListener,
+ DevInternalSettings.Listener {
private static final int JAVA_ERROR_COOKIE = -1;
private static final int JSEXCEPTION_ERROR_COOKIE = -1;
@@ -623,6 +626,8 @@ public class DevSupportManagerImpl implements DevSupportManager, PackagerCommand
reload();
}
+ public void onInternalSettingsChanged() { reloadSettings(); }
+
@Override
public void handleReloadJS() {
UiThreadUtil.assertOnUiThread();