mirror of
https://github.com/status-im/react-native.git
synced 2025-02-10 08:26:23 +00:00
Don't require a DevSupportManager to create a DevInternalSettings
Summary: It should be possible to use the latter without using the former. Reviewed By: ashwinb Differential Revision: D4321776 fbshipit-source-id: 935fbb3fdb47369e18992aca0497d312ad6023bc
This commit is contained in:
parent
a1cd5e0d05
commit
fc2936cea9
@ -39,12 +39,12 @@ public class DevInternalSettings implements
|
|||||||
private static final String PREFS_REMOTE_JS_DEBUG_KEY = "remote_js_debug";
|
private static final String PREFS_REMOTE_JS_DEBUG_KEY = "remote_js_debug";
|
||||||
|
|
||||||
private final SharedPreferences mPreferences;
|
private final SharedPreferences mPreferences;
|
||||||
private final DevSupportManager mDebugManager;
|
private final Listener mListener;
|
||||||
|
|
||||||
public DevInternalSettings(
|
public DevInternalSettings(
|
||||||
Context applicationContext,
|
Context applicationContext,
|
||||||
DevSupportManager debugManager) {
|
Listener listener) {
|
||||||
mDebugManager = debugManager;
|
mListener = listener;
|
||||||
mPreferences = PreferenceManager.getDefaultSharedPreferences(applicationContext);
|
mPreferences = PreferenceManager.getDefaultSharedPreferences(applicationContext);
|
||||||
mPreferences.registerOnSharedPreferenceChangeListener(this);
|
mPreferences.registerOnSharedPreferenceChangeListener(this);
|
||||||
}
|
}
|
||||||
@ -78,11 +78,13 @@ public class DevInternalSettings implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
|
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
|
||||||
|
if (mListener != null) {
|
||||||
if (PREFS_FPS_DEBUG_KEY.equals(key) ||
|
if (PREFS_FPS_DEBUG_KEY.equals(key) ||
|
||||||
PREFS_RELOAD_ON_JS_CHANGE_KEY.equals(key) ||
|
PREFS_RELOAD_ON_JS_CHANGE_KEY.equals(key) ||
|
||||||
PREFS_JS_DEV_MODE_DEBUG_KEY.equals(key) ||
|
PREFS_JS_DEV_MODE_DEBUG_KEY.equals(key) ||
|
||||||
PREFS_JS_MINIFY_DEBUG_KEY.equals(key)) {
|
PREFS_JS_MINIFY_DEBUG_KEY.equals(key)) {
|
||||||
mDebugManager.reloadSettings();
|
mListener.onInternalSettingsChanged();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,4 +121,8 @@ public class DevInternalSettings implements
|
|||||||
public void setRemoteJSDebugEnabled(boolean remoteJSDebugEnabled) {
|
public void setRemoteJSDebugEnabled(boolean remoteJSDebugEnabled) {
|
||||||
mPreferences.edit().putBoolean(PREFS_REMOTE_JS_DEBUG_KEY, remoteJSDebugEnabled).apply();
|
mPreferences.edit().putBoolean(PREFS_REMOTE_JS_DEBUG_KEY, remoteJSDebugEnabled).apply();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public interface Listener {
|
||||||
|
void onInternalSettingsChanged();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -86,7 +86,10 @@ import okhttp3.ws.WebSocket;
|
|||||||
* {@code <activity android:name="com.facebook.react.devsupport.DevSettingsActivity"/>}
|
* {@code <activity android:name="com.facebook.react.devsupport.DevSettingsActivity"/>}
|
||||||
* {@code <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>}
|
* {@code <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>}
|
||||||
*/
|
*/
|
||||||
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 JAVA_ERROR_COOKIE = -1;
|
||||||
private static final int JSEXCEPTION_ERROR_COOKIE = -1;
|
private static final int JSEXCEPTION_ERROR_COOKIE = -1;
|
||||||
@ -623,6 +626,8 @@ public class DevSupportManagerImpl implements DevSupportManager, PackagerCommand
|
|||||||
reload();
|
reload();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void onInternalSettingsChanged() { reloadSettings(); }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handleReloadJS() {
|
public void handleReloadJS() {
|
||||||
UiThreadUtil.assertOnUiThread();
|
UiThreadUtil.assertOnUiThread();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user