mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Introduce DeviceInfo as a new native module
Summary: The `UIManager` already has a lot of responsibilities and is deeply tied with React Native's view architecture. This diff separates out a `DeviceInfo` native module to provide information about screen dimensions and font scale, etc. Reviewed By: fkgozali Differential Revision: D4713834 fbshipit-source-id: f2ee93acf876a4221c29a8c731f5abeffbb97974
This commit is contained in:
committed by
Facebook Github Bot
parent
238fd4ad19
commit
95c1926193
@@ -0,0 +1,20 @@
|
||||
/**
|
||||
* Copyright (c) 2015-present, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* LICENSE file in the root directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*
|
||||
* @providesModule DeviceInfo
|
||||
* @flow
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
const DeviceInfo = require('NativeModules').DeviceInfo;
|
||||
|
||||
const invariant = require('invariant');
|
||||
|
||||
invariant(DeviceInfo, 'DeviceInfo native module is not installed correctly');
|
||||
|
||||
module.exports = DeviceInfo;
|
||||
@@ -11,9 +11,9 @@
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
var DeviceInfo = require('DeviceInfo');
|
||||
var EventEmitter = require('EventEmitter');
|
||||
var Platform = require('Platform');
|
||||
var UIManager = require('UIManager');
|
||||
var RCTDeviceEventEmitter = require('RCTDeviceEventEmitter');
|
||||
|
||||
var invariant = require('fbjs/lib/invariant');
|
||||
@@ -128,7 +128,7 @@ class Dimensions {
|
||||
}
|
||||
}
|
||||
|
||||
Dimensions.set(UIManager.Dimensions);
|
||||
Dimensions.set(DeviceInfo.Dimensions);
|
||||
RCTDeviceEventEmitter.addListener('didUpdateDimensions', function(update) {
|
||||
Dimensions.set(update);
|
||||
});
|
||||
|
||||
@@ -85,6 +85,7 @@ const ReactNative = {
|
||||
get CameraRoll() { return require('CameraRoll'); },
|
||||
get Clipboard() { return require('Clipboard'); },
|
||||
get DatePickerAndroid() { return require('DatePickerAndroid'); },
|
||||
get DeviceInfo() { return require('DeviceInfo'); },
|
||||
get Dimensions() { return require('Dimensions'); },
|
||||
get Easing() { return require('Easing'); },
|
||||
get I18nManager() { return require('I18nManager'); },
|
||||
|
||||
Reference in New Issue
Block a user