Fix modals when using Nodes

Summary:
Modals were broken in Nodes, because the custom measurement logic for
all the children of the ReactModalShadowNode was not being applied (because we
wrapped it in a NativeViewWrapper). This change adds a custom flat node type
for modals.

Differential Revision: D3499557
This commit is contained in:
Ahmed El-Helw
2016-06-29 15:31:28 -07:00
parent aadf4dfdc2
commit f8d623ca3a
3 changed files with 126 additions and 0 deletions
@@ -0,0 +1,31 @@
/**
* 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.
*/
package com.facebook.react.flat;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.LayoutShadowNode;
import com.facebook.react.views.modal.ReactModalHostManager;
/* package */ class RCTModalHostManager extends ReactModalHostManager {
/* package */ RCTModalHostManager(ReactApplicationContext context) {
super(context);
}
@Override
public LayoutShadowNode createShadowNodeInstance() {
return new FlatReactModalShadowNode();
}
@Override
public Class<? extends LayoutShadowNode> getShadowNodeClass() {
return FlatReactModalShadowNode.class;
}
}