react-native/Libraries
Ben Roth 6a14f0b449 Add RCTDevSettings module
Summary:
This decouples non-UI logic from RCTDevMenu into a new module RCTDevSettings.

**Motivation**: This allows developers to change dev settings without depending on the built-in dev menu, e.g. if they want to introduce their own UI, or have other devtools logic that doesn't depend on an action sheet.

It also introduces the RCTDevSettingsDataSource protocol for storing dev tools preferences. This could allow a developer to implement alternative behaviors, e.g. loading the settings from some other config, changing settings based on the user, deciding not to persist some settings, or something else.

The included data source implementation, RCTDevSettingsUserDefaultsDataSource, uses NSUserDefaults and is backwards compatible with the older implementation, so **no workflows or dependent code will break, and old saved settings will persist.**

The RCTDevMenu interface has not changed and is therefore also backwards-compatible, though
some methods are now deprecated.

In order to ensure that RCTDevSettings
Closes https://github.com/facebook/react-native/pull/11613

Reviewed By: mmmulani

Differential Revision: D4571773

Pulled By: javache

fbshipit-source-id: 25555d0a6eaa81f694343e079ed02439e5845fbc
2017-02-24 07:00:16 -08:00
..
ART Better error for ART <Group /> 2016-12-07 17:13:42 -08:00
ActionSheetIOS Redo exported headers and include paths for opensource 2016-12-07 15:28:29 -08:00
AdSupport Redo exported headers and include paths for opensource 2016-12-07 15:28:29 -08:00
Alert fix inline NativeModule typo 2017-02-21 10:04:42 -08:00
Animated Clean up Animated docs 2017-02-17 14:48:17 -08:00
AppState Fix the website build 2017-02-21 09:11:01 -08:00
BatchedBridge Move BatchedBridge module configuration to InitializeCore 2017-02-22 15:01:11 -08:00
BugReporting Patch up for future React Sync 2017-02-08 14:50:43 -08:00
CameraRoll Documented CameraRoll.getPhotos() param and return values 2017-02-23 16:45:39 -08:00
Components Add TextInput's prop caretHidden implementation for Android and add the prop to docs 2017-02-23 17:17:39 -08:00
Core Merge AndroidConstants and IOSConstants into PlatformConstants 2017-02-22 15:01:11 -08:00
CustomComponents RN: Revert ListView Separator Change 2017-02-06 18:46:10 -08:00
DebugComponentHierarchy Move React Core Integration to a Dependency 2016-04-21 09:28:23 -07:00
EventEmitter RN: Cleanup OSS JS & Flow Declarations 2016-11-20 17:58:29 -08:00
Experimental Update SwipeableListView props and more 2017-02-23 15:17:02 -08:00
Geolocation Update Geolocation.js 2017-01-31 11:58:30 -08:00
Image remove unused includes in fbobjc/Libraries 2017-02-19 18:33:49 -08:00
Inspector work around inspector redbox due to Fiber 2017-02-21 15:45:45 -08:00
Interaction Some perf tools for debugging js stalls 2017-02-06 17:46:34 -08:00
JSInspector Add Network agent 2016-11-02 12:29:15 -07:00
LayoutAnimation Sync React 2017-02-14 20:00:34 -08:00
Linking Auto-fix lint errors 2016-08-09 06:43:46 -07:00
LinkingIOS Redo exported headers and include paths for opensource 2016-12-07 15:28:29 -08:00
Modal Add property to force HW acceleration on Android for modal windows 2016-12-14 10:28:33 -08:00
NativeAnimation remove unused includes in fbobjc/Libraries 2017-02-19 18:33:49 -08:00
NavigationExperimental Deal with 0.38 'FlowFixMe's 2017-01-31 13:13:32 -08:00
Network Use weakSelf in RCTNetworking callbacks 2017-02-13 12:29:58 -08:00
Performance Support QuickPerformanceLogger.js in the old bridge 2017-02-16 11:33:48 -08:00
PermissionsAndroid inline a bunch of NativeModule requires 2017-02-17 16:49:38 -08:00
PushNotificationIOS Handle push notifications on iOS 2017-02-03 11:58:30 -08:00
RCTTest Apple TV support 4: support for input (tvOS focus engine) 2016-12-19 06:28:40 -08:00
ReactNative Add a hint to a very common AppRegistry error 2017-02-22 14:16:06 -08:00
Renderer Ignore event listeners on unmounted components 2017-02-22 12:30:09 -08:00
Sample Fix missing RCTBridgeModule.h 2017-01-31 11:13:50 -08:00
Settings Redo exported headers and include paths for opensource 2016-12-07 15:28:29 -08:00
Share Update Share.js. Fixed bad grammar 2016-11-23 11:28:29 -08:00
Storage correctly order ASyncStorage 2017-02-21 15:18:40 -08:00
StyleSheet Fix comments about Yoga in LayoutPropType. 2017-02-23 13:01:04 -08:00
Text `RCTShadowViews`'s `cssNode` property was renamed to `yogaNode` 2017-02-21 08:45:05 -08:00
Utilities Merge AndroidConstants and IOSConstants into PlatformConstants 2017-02-22 15:01:11 -08:00
Vibration Redo exported headers and include paths for opensource 2016-12-07 15:28:29 -08:00
WebSocket Add RCTDevSettings module 2017-02-24 07:00:16 -08:00
react-native Patch up for future React Sync 2017-02-08 14:50:43 -08:00
vendor RN: Cleanup OSS JS & Flow Declarations 2016-11-20 17:58:29 -08:00
Promise.js Make onUnhandled safe for undefined errors 2016-08-02 07:58:28 -07:00
promiseRejectionIsError.js RN: Cleanup OSS JS & Flow Declarations 2016-11-20 17:58:29 -08:00