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 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:
committed by
Facebook Github Bot
parent
40c588e0de
commit
e99b926d27
+45
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
+22
@@ -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);
|
||||
}
|
||||
+45
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
+22
@@ -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"),
|
||||
],
|
||||
)
|
||||
|
||||
+16
-1
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
+16
-1
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user