Expose screen metrics and window metrics

Summary:
public
https://github.com/facebook/react-native/pull/4935 changed the window dimensions for android by replacing them with the actual screen dimensions. This changes the window dimensions back to their original values and adds `Dimensions.get('screen')` for the actual screen dimensions of the device.

Reviewed By: astreet

Differential Revision: D2921584

fb-gh-sync-id: 5d2677029c71d50691691dc651a11e9c8b115e8f
shipit-source-id: 5d2677029c71d50691691dc651a11e9c8b115e8f
This commit is contained in:
Andrei Coman
2016-02-11 06:32:40 -08:00
committed by facebook-github-bot-3
parent 6f1417c849
commit 228a1fe7d4
16 changed files with 93 additions and 34 deletions

View File

@@ -82,7 +82,7 @@ public class RootViewTest {
mReactContext = new ReactApplicationContext(RuntimeEnvironment.application);
mReactContext.initializeWithInstance(mCatalystInstanceMock);
DisplayMetrics displayMetrics = mReactContext.getResources().getDisplayMetrics();
DisplayMetricsHolder.setDisplayMetrics(displayMetrics);
DisplayMetricsHolder.setWindowDisplayMetrics(displayMetrics);
UIManagerModule uiManagerModuleMock = mock(UIManagerModule.class);
when(mCatalystInstanceMock.getNativeModule(UIManagerModule.class))

View File

@@ -54,12 +54,14 @@ public class LayoutPropertyApplicatorTest {
@Before
public void setup() {
DisplayMetricsHolder.setDisplayMetrics(new DisplayMetrics());
DisplayMetricsHolder.setWindowDisplayMetrics(new DisplayMetrics());
DisplayMetricsHolder.setScreenDisplayMetrics(new DisplayMetrics());
}
@After
public void teardown() {
DisplayMetricsHolder.setDisplayMetrics(null);
DisplayMetricsHolder.setWindowDisplayMetrics(null);
DisplayMetricsHolder.setScreenDisplayMetrics(null);
}
public ReactStylesDiffMap buildStyles(Object... keysAndValues) {
@@ -309,7 +311,7 @@ public class LayoutPropertyApplicatorTest {
public void testPropertiesResetToDefault() {
DisplayMetrics displayMetrics = new DisplayMetrics();
displayMetrics.density = 1.0f;
DisplayMetricsHolder.setDisplayMetrics(displayMetrics);
DisplayMetricsHolder.setWindowDisplayMetrics(displayMetrics);
LayoutShadowNode reactShadowNode = spy(new LayoutShadowNode());
ReactStylesDiffMap map = buildStyles(

View File

@@ -147,7 +147,8 @@ public class ReactPropConstantsTest {
List<ViewManager> viewManagers = Arrays.<ViewManager>asList(new ViewManagerUnderTest());
ReactApplicationContext reactContext = new ReactApplicationContext(RuntimeEnvironment.application);
DisplayMetrics displayMetrics = reactContext.getResources().getDisplayMetrics();
DisplayMetricsHolder.setDisplayMetrics(displayMetrics);
DisplayMetricsHolder.setWindowDisplayMetrics(displayMetrics);
DisplayMetricsHolder.setScreenDisplayMetrics(displayMetrics);
UIManagerModule uiManagerModule = new UIManagerModule(
reactContext,
viewManagers,

View File

@@ -60,7 +60,8 @@ public class UIManagerModuleConstantsTest {
mUIImplementation = mock(UIImplementation.class);
DisplayMetrics displayMetrics = mReactContext.getResources().getDisplayMetrics();
DisplayMetricsHolder.setDisplayMetrics(displayMetrics);
DisplayMetricsHolder.setWindowDisplayMetrics(displayMetrics);
DisplayMetricsHolder.setScreenDisplayMetrics(displayMetrics);
}
@Test

View File

@@ -109,7 +109,8 @@ public class UIManagerModuleTest {
mReactContext.initializeWithInstance(mCatalystInstanceMock);
DisplayMetrics displayMetrics = mReactContext.getResources().getDisplayMetrics();
DisplayMetricsHolder.setDisplayMetrics(displayMetrics);
DisplayMetricsHolder.setWindowDisplayMetrics(displayMetrics);
DisplayMetricsHolder.setScreenDisplayMetrics(displayMetrics);
UIManagerModule uiManagerModuleMock = mock(UIManagerModule.class);
when(mCatalystInstanceMock.getNativeModule(UIManagerModule.class))

View File

@@ -59,12 +59,12 @@ public class ReactImagePropertyTest {
mContext.initializeWithInstance(mCatalystInstanceMock);
mThemeContext = new ThemedReactContext(mContext, mContext);
Fresco.initialize(mContext);
DisplayMetricsHolder.setDisplayMetrics(new DisplayMetrics());
DisplayMetricsHolder.setWindowDisplayMetrics(new DisplayMetrics());
}
@After
public void teardown() {
DisplayMetricsHolder.setDisplayMetrics(null);
DisplayMetricsHolder.setWindowDisplayMetrics(null);
}
public ReactStylesDiffMap buildStyles(Object... keysAndValues) {

View File

@@ -373,7 +373,8 @@ public class ReactTextTest {
public UIManagerModule getUIManagerModule() {
ReactApplicationContext reactContext = ReactTestHelper.createCatalystContextForTest();
DisplayMetrics displayMetrics = reactContext.getResources().getDisplayMetrics();
DisplayMetricsHolder.setDisplayMetrics(displayMetrics);
DisplayMetricsHolder.setWindowDisplayMetrics(displayMetrics);
DisplayMetricsHolder.setScreenDisplayMetrics(displayMetrics);
List<ViewManager> viewManagers = Arrays.asList(
new ViewManager[] {
new ReactTextViewManager(),

View File

@@ -60,7 +60,7 @@ public class ReactTextInputPropertyTest {
mContext.initializeWithInstance(mCatalystInstanceMock);
mThemedContext = new ThemedReactContext(mContext, mContext);
mManager = new ReactTextInputManager();
DisplayMetricsHolder.setDisplayMetrics(new DisplayMetrics());
DisplayMetricsHolder.setWindowDisplayMetrics(new DisplayMetrics());
}
public ReactStylesDiffMap buildStyles(Object... keysAndValues) {

View File

@@ -183,7 +183,8 @@ public class TextInputTest {
new ReactTextInputManager(),
});
DisplayMetrics displayMetrics = reactContext.getResources().getDisplayMetrics();
DisplayMetricsHolder.setDisplayMetrics(displayMetrics);
DisplayMetricsHolder.setWindowDisplayMetrics(displayMetrics);
DisplayMetricsHolder.setScreenDisplayMetrics(displayMetrics);
UIManagerModule uiManagerModule = new UIManagerModule(
reactContext,
viewManagers,