diff --git a/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerDelegate.java b/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerDelegate.java new file mode 100644 index 00000000000..5e882217807 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerDelegate.java @@ -0,0 +1,45 @@ +/** +* Copyright (c) Facebook, Inc. and its affiliates. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; +import com.facebook.react.uimanager.LayoutShadowNode; + +public class AndroidDialogPickerManagerDelegate & AndroidDialogPickerManagerInterface> extends BaseViewManagerDelegate { + public AndroidDialogPickerManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + switch (propName) { + case "color": + mViewManager.setColor(view, value == null ? null : ((Double) value).intValue()); + break; + case "enabled": + mViewManager.setEnabled(view, value == null ? true : (boolean) value); + break; + case "items": + mViewManager.setItems(view, (ReadableArray) value); + break; + case "prompt": + mViewManager.setPrompt(view, value == null ? "" : (String) value); + break; + case "selected": + mViewManager.setSelected(view, value == null ? 0 : ((Double) value).intValue()); + break; + default: + super.setProperty(view, propName, value); + } + } +} diff --git a/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerInterface.java b/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerInterface.java new file mode 100644 index 00000000000..2a9a7cdb5fa --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerInterface.java @@ -0,0 +1,22 @@ +/** +* Copyright (c) Facebook, Inc. and its affiliates. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; + +public interface AndroidDialogPickerManagerInterface { + void setColor(T view, @Nullable Integer value); + void setEnabled(T view, boolean value); + void setItems(T view, @Nullable ReadableArray value); + void setPrompt(T view, @Nullable String value); + void setSelected(T view, int value); +} diff --git a/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerDelegate.java b/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerDelegate.java new file mode 100644 index 00000000000..33d27bb5f28 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerDelegate.java @@ -0,0 +1,45 @@ +/** +* Copyright (c) Facebook, Inc. and its affiliates. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; +import com.facebook.react.uimanager.LayoutShadowNode; + +public class AndroidDropdownPickerManagerDelegate & AndroidDropdownPickerManagerInterface> extends BaseViewManagerDelegate { + public AndroidDropdownPickerManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + switch (propName) { + case "color": + mViewManager.setColor(view, value == null ? null : ((Double) value).intValue()); + break; + case "enabled": + mViewManager.setEnabled(view, value == null ? true : (boolean) value); + break; + case "items": + mViewManager.setItems(view, (ReadableArray) value); + break; + case "prompt": + mViewManager.setPrompt(view, value == null ? "" : (String) value); + break; + case "selected": + mViewManager.setSelected(view, value == null ? 0 : ((Double) value).intValue()); + break; + default: + super.setProperty(view, propName, value); + } + } +} diff --git a/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerInterface.java b/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerInterface.java new file mode 100644 index 00000000000..db599a79056 --- /dev/null +++ b/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerInterface.java @@ -0,0 +1,22 @@ +/** +* Copyright (c) Facebook, Inc. and its affiliates. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; + +public interface AndroidDropdownPickerManagerInterface { + void setColor(T view, @Nullable Integer value); + void setEnabled(T view, boolean value); + void setItems(T view, @Nullable ReadableArray value); + void setPrompt(T view, @Nullable String value); + void setSelected(T view, int value); +} diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/picker/BUCK b/ReactAndroid/src/main/java/com/facebook/react/views/picker/BUCK index b129567f579..32fdd11dc47 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/picker/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/views/picker/BUCK @@ -23,5 +23,6 @@ rn_android_library( react_native_target("java/com/facebook/react/module/annotations:annotations"), react_native_target("java/com/facebook/react/uimanager:uimanager"), react_native_target("java/com/facebook/react/uimanager/annotations:annotations"), + react_native_target("java/com/facebook/react/viewmanagers:viewmanagers"), ], ) diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDialogPickerManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDialogPickerManager.java index 14bc4cd5eaf..cf3fde687f5 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDialogPickerManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDialogPickerManager.java @@ -10,13 +10,23 @@ package com.facebook.react.views.picker; import android.widget.Spinner; import com.facebook.react.module.annotations.ReactModule; import com.facebook.react.uimanager.ThemedReactContext; +import com.facebook.react.uimanager.ViewManagerDelegate; +import com.facebook.react.viewmanagers.AndroidDialogPickerManagerDelegate; +import com.facebook.react.viewmanagers.AndroidDialogPickerManagerInterface; /** {@link ReactPickerManager} for {@link ReactPicker} with {@link Spinner#MODE_DIALOG}. */ @ReactModule(name = ReactDialogPickerManager.REACT_CLASS) -public class ReactDialogPickerManager extends ReactPickerManager { +public class ReactDialogPickerManager extends ReactPickerManager + implements AndroidDialogPickerManagerInterface { public static final String REACT_CLASS = "AndroidDialogPicker"; + private final ViewManagerDelegate mDelegate; + + public ReactDialogPickerManager() { + mDelegate = new AndroidDialogPickerManagerDelegate<>(this); + } + @Override public String getName() { return REACT_CLASS; @@ -26,4 +36,9 @@ public class ReactDialogPickerManager extends ReactPickerManager { protected ReactPicker createViewInstance(ThemedReactContext reactContext) { return new ReactPicker(reactContext, Spinner.MODE_DIALOG); } + + @Override + protected ViewManagerDelegate getDelegate() { + return mDelegate; + } } diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDropdownPickerManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDropdownPickerManager.java index 7ea036e3e32..23f4163cb74 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDropdownPickerManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDropdownPickerManager.java @@ -10,13 +10,23 @@ package com.facebook.react.views.picker; import android.widget.Spinner; import com.facebook.react.module.annotations.ReactModule; import com.facebook.react.uimanager.ThemedReactContext; +import com.facebook.react.uimanager.ViewManagerDelegate; +import com.facebook.react.viewmanagers.AndroidDropdownPickerManagerDelegate; +import com.facebook.react.viewmanagers.AndroidDropdownPickerManagerInterface; /** {@link ReactPickerManager} for {@link ReactPicker} with {@link Spinner#MODE_DROPDOWN}. */ @ReactModule(name = ReactDropdownPickerManager.REACT_CLASS) -public class ReactDropdownPickerManager extends ReactPickerManager { +public class ReactDropdownPickerManager extends ReactPickerManager + implements AndroidDropdownPickerManagerInterface { public static final String REACT_CLASS = "AndroidDropdownPicker"; + private final ViewManagerDelegate mDelegate; + + public ReactDropdownPickerManager() { + mDelegate = new AndroidDropdownPickerManagerDelegate<>(this); + } + @Override public String getName() { return REACT_CLASS; @@ -26,4 +36,9 @@ public class ReactDropdownPickerManager extends ReactPickerManager { protected ReactPicker createViewInstance(ThemedReactContext reactContext) { return new ReactPicker(reactContext, Spinner.MODE_DROPDOWN); } + + @Override + protected ViewManagerDelegate getDelegate() { + return mDelegate; + } }