diff --git a/Libraries/Components/View/View.js b/Libraries/Components/View/View.js index b32e9500155..938dca8ad8b 100644 --- a/Libraries/Components/View/View.js +++ b/Libraries/Components/View/View.js @@ -39,8 +39,8 @@ const PropTypes = React.PropTypes; const stylePropType = StyleSheetPropType(ViewStylePropTypes); -const forceTouchAvailable = (NativeModules.IOSConstants && - NativeModules.IOSConstants.forceTouchAvailable) || false; +const forceTouchAvailable = (NativeModules.PlatformConstants && + NativeModules.PlatformConstants.forceTouchAvailable) || false; const statics = { AccessibilityTraits, diff --git a/Libraries/Core/Devtools/setupDevtools.js b/Libraries/Core/Devtools/setupDevtools.js index 48c2881fa57..56d5564b60c 100644 --- a/Libraries/Core/Devtools/setupDevtools.js +++ b/Libraries/Core/Devtools/setupDevtools.js @@ -12,10 +12,9 @@ 'use strict'; if (__DEV__) { - var AppState = require('AppState'); - var NativeModules = require('NativeModules'); - var Platform = require('Platform'); - var {connectToDevTools} = require('react-devtools-core'); + const AppState = require('AppState'); + const {PlatformConstants} = require('NativeModules'); + const {connectToDevTools} = require('react-devtools-core'); connectToDevTools({ isAppActive() { @@ -26,8 +25,8 @@ if (__DEV__) { return AppState.currentState !== 'background'; }, // Special case: Genymotion is running on a different host. - host: (Platform.OS === 'android' && NativeModules.AndroidConstants) ? - NativeModules.AndroidConstants.ServerHost.split(':')[0] : + host: PlatformConstants && PlatformConstants.ServerHost ? + PlatformConstants.ServerHost.split(':')[0] : 'localhost', // Read the optional global variable for backward compatibility. // It was added in https://github.com/facebook/react-native/commit/bf2b435322e89d0aeee8792b1c6e04656c2719a0. diff --git a/Libraries/Utilities/Platform.android.js b/Libraries/Utilities/Platform.android.js index f5e18626e3d..4bab19c5287 100644 --- a/Libraries/Utilities/Platform.android.js +++ b/Libraries/Utilities/Platform.android.js @@ -12,14 +12,16 @@ 'use strict'; +const NativeModules = require('NativeModules'); + const Platform = { OS: 'android', get Version() { - const AndroidConstants = require('NativeModules').AndroidConstants; - return AndroidConstants && AndroidConstants.Version; + const constants = NativeModules.PlatformConstants; + return constants && constants.Version; }, get isTesting(): boolean { - const constants = require('NativeModules').AndroidConstants; + const constants = NativeModules.PlatformConstants; return constants && constants.isTesting; }, select: (obj: Object) => 'android' in obj ? obj.android : obj.default, diff --git a/Libraries/Utilities/Platform.ios.js b/Libraries/Utilities/Platform.ios.js index d95e9e1ae3f..3238a44627f 100644 --- a/Libraries/Utilities/Platform.ios.js +++ b/Libraries/Utilities/Platform.ios.js @@ -12,18 +12,24 @@ 'use strict'; +const NativeModules = require('NativeModules'); + const Platform = { OS: 'ios', get Version() { - const constants = require('NativeModules').IOSConstants; - return constants ? constants.osVersion : ''; + const constants = NativeModules.PlatformConstants; + return constants && constants.osVersion; + }, + get isPad() { + const constants = NativeModules.PlatformConstants; + return constants ? constants.interfaceIdiom === 'pad' : false; }, get isTVOS() { - const constants = require('NativeModules').IOSConstants; - return constants ? (constants.interfaceIdiom === 'tv') : false; + const constants = NativeModules.PlatformConstants; + return constants ? constants.interfaceIdiom === 'tv' : false; }, get isTesting(): boolean { - const constants = require('NativeModules').IOSConstants; + const constants = NativeModules.PlatformConstants; return constants && constants.isTesting; }, select: (obj: Object) => 'ios' in obj ? obj.ios : obj.default, diff --git a/React/Base/RCTPlatform.m b/React/Base/RCTPlatform.m index 766fd38746e..f082a215e68 100644 --- a/React/Base/RCTPlatform.m +++ b/React/Base/RCTPlatform.m @@ -35,7 +35,7 @@ static BOOL isTestingEnvironment(void) { return [environment[@"IS_TESTING"] boolValue]; } -RCT_EXPORT_MODULE(IOSConstants) +RCT_EXPORT_MODULE(PlatformConstants) - (NSDictionary *)constantsToExport { diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java index 6c5ab3966eb..07666145e48 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java @@ -22,14 +22,14 @@ import javax.annotation.Nullable; /** * Module that exposes Android Constants to JS. */ -@ReactModule(name = "AndroidConstants") +@ReactModule(name = "PlatformConstants") public class AndroidInfoModule extends BaseJavaModule { private static final String IS_TESTING = "IS_TESTING"; @Override public String getName() { - return "AndroidConstants"; + return "PlatformConstants"; } @Override