Use generated Java delegate for setting properties on ReactDialogPickerManager and ReactDropdownPickerManager

Summary:
This diff migrates ReactDialogPickerManager and ReactDropdownPickerManager to use the generated delegates for setting their properties.

Changelog:
[Android] [Added] - Use generated Java delegate for setting properties on ReactDialogPickerManager and ReactDropdownPickerManager

Reviewed By: mdvacca

Differential Revision: D17930994

fbshipit-source-id: 009ad9eceb683b7170eddeccfd986b1dc5cb8c0b
This commit is contained in:
Oleksandr Melnykov
2019-11-06 05:23:45 -08:00
committed by Facebook Github Bot
parent 40c588e0de
commit e99b926d27
7 changed files with 167 additions and 2 deletions
@@ -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<T extends View, U extends BaseViewManagerInterface<T> & AndroidDialogPickerManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
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);
}
}
}
@@ -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<T extends View> {
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);
}
@@ -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<T extends View, U extends BaseViewManagerInterface<T> & AndroidDropdownPickerManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
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);
}
}
}
@@ -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<T extends View> {
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);
}
@@ -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"),
],
)
@@ -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<ReactPicker> {
public static final String REACT_CLASS = "AndroidDialogPicker";
private final ViewManagerDelegate<ReactPicker> 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<ReactPicker> getDelegate() {
return mDelegate;
}
}
@@ -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<ReactPicker> {
public static final String REACT_CLASS = "AndroidDropdownPicker";
private final ViewManagerDelegate<ReactPicker> 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<ReactPicker> getDelegate() {
return mDelegate;
}
}