mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Use generated Java delegate for setting properties on ReactModalHostManager
Summary: This diff migrates `ReactModalHostManager` to use the generated `ModalHostViewManagerDelegate` for setting its properties. Reviewed By: mdvacca Differential Revision: D17205817 fbshipit-source-id: 6724302fd4301f9df92df04fcfb41f0c2c939d9f
This commit is contained in:
committed by
Facebook Github Bot
parent
5925b3d408
commit
1eb8ef59ad
@@ -23,6 +23,7 @@ rn_android_library(
|
||||
react_native_target("java/com/facebook/react/uimanager/annotations:annotations"),
|
||||
react_native_target("java/com/facebook/react/views/common:common"),
|
||||
react_native_target("java/com/facebook/react/views/view:view"),
|
||||
react_native_target("java/com/facebook/react/viewmanagers:viewmanagers"),
|
||||
react_native_target("res:modal"),
|
||||
],
|
||||
)
|
||||
|
||||
+37
-3
@@ -8,6 +8,8 @@ package com.facebook.react.views.modal;
|
||||
|
||||
import android.content.DialogInterface;
|
||||
import android.graphics.Point;
|
||||
import androidx.annotation.Nullable;
|
||||
import com.facebook.react.bridge.ReadableArray;
|
||||
import com.facebook.react.common.MapBuilder;
|
||||
import com.facebook.react.module.annotations.ReactModule;
|
||||
import com.facebook.react.uimanager.LayoutShadowNode;
|
||||
@@ -16,16 +18,26 @@ import com.facebook.react.uimanager.StateWrapper;
|
||||
import com.facebook.react.uimanager.ThemedReactContext;
|
||||
import com.facebook.react.uimanager.UIManagerModule;
|
||||
import com.facebook.react.uimanager.ViewGroupManager;
|
||||
import com.facebook.react.uimanager.ViewManagerDelegate;
|
||||
import com.facebook.react.uimanager.annotations.ReactProp;
|
||||
import com.facebook.react.uimanager.events.EventDispatcher;
|
||||
import com.facebook.react.viewmanagers.ModalHostViewManagerDelegate;
|
||||
import com.facebook.react.viewmanagers.ModalHostViewManagerInterface;
|
||||
import java.util.Map;
|
||||
|
||||
/** View manager for {@link ReactModalHostView} components. */
|
||||
@ReactModule(name = ReactModalHostManager.REACT_CLASS)
|
||||
public class ReactModalHostManager extends ViewGroupManager<ReactModalHostView> {
|
||||
public class ReactModalHostManager extends ViewGroupManager<ReactModalHostView>
|
||||
implements ModalHostViewManagerInterface<ReactModalHostView> {
|
||||
|
||||
public static final String REACT_CLASS = "RCTModalHostView";
|
||||
|
||||
private final ViewManagerDelegate<ReactModalHostView> mDelegate;
|
||||
|
||||
public ReactModalHostManager() {
|
||||
mDelegate = new ModalHostViewManagerDelegate<>(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return REACT_CLASS;
|
||||
@@ -52,21 +64,38 @@ public class ReactModalHostManager extends ViewGroupManager<ReactModalHostView>
|
||||
view.onDropInstance();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ReactProp(name = "animationType")
|
||||
public void setAnimationType(ReactModalHostView view, String animationType) {
|
||||
view.setAnimationType(animationType);
|
||||
public void setAnimationType(ReactModalHostView view, @Nullable String animationType) {
|
||||
if (animationType != null) {
|
||||
view.setAnimationType(animationType);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ReactProp(name = "transparent")
|
||||
public void setTransparent(ReactModalHostView view, boolean transparent) {
|
||||
view.setTransparent(transparent);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ReactProp(name = "hardwareAccelerated")
|
||||
public void setHardwareAccelerated(ReactModalHostView view, boolean hardwareAccelerated) {
|
||||
view.setHardwareAccelerated(hardwareAccelerated);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPresentationStyle(ReactModalHostView view, @Nullable String value) {}
|
||||
|
||||
@Override
|
||||
public void setAnimated(ReactModalHostView view, boolean value) {}
|
||||
|
||||
@Override
|
||||
public void setSupportedOrientations(ReactModalHostView view, @Nullable ReadableArray value) {}
|
||||
|
||||
@Override
|
||||
public void setIdentifier(ReactModalHostView view, int value) {}
|
||||
|
||||
@Override
|
||||
protected void addEventEmitters(ThemedReactContext reactContext, final ReactModalHostView view) {
|
||||
final EventDispatcher dispatcher =
|
||||
@@ -108,4 +137,9 @@ public class ReactModalHostManager extends ViewGroupManager<ReactModalHostView>
|
||||
view.updateState(stateWrapper, modalSize.x, modalSize.y);
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ViewManagerDelegate<ReactModalHostView> getDelegate() {
|
||||
return mDelegate;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user