From ab812ef086e18177eecd7bb6a468d62012fc3bfe Mon Sep 17 00:00:00 2001 From: fabriziobertoglio1987 Date: Tue, 9 Aug 2022 16:20:37 +0800 Subject: [PATCH 1/2] String can not be cast to object
testing accessibilityLabelledBy with TextInput

https://user-images.githubusercontent.com/24992535/183593138-7ced1974-6a06-4f0f-822a-1ade1edc7212.mp4

testing accessibilityLabelledBy with Switch

![Screen Shot 2022-08-09 at 15 53 37](https://user-images.githubusercontent.com/24992535/183596336-4b73186b-6d27-485e-a6ea-29a0f0b9ef50.png)

--- .../react/uimanager/BaseViewManagerDelegate.java | 4 +++- .../js/examples/Accessibility/AccessibilityExample.js | 9 +++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.java index 5c2ca1b828f0..bb809381494e 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.java @@ -11,6 +11,7 @@ import androidx.annotation.Nullable; import com.facebook.react.bridge.ColorPropConverter; import com.facebook.react.bridge.Dynamic; +import com.facebook.react.bridge.DynamicFromObject; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.bridge.ReadableMap; import com.facebook.yoga.YogaConstants; @@ -92,7 +93,8 @@ public void setProperty(T view, String propName, @Nullable Object value) { mViewManager.setNativeId(view, (String) value); break; case ViewProps.ACCESSIBILITY_LABELLED_BY: - mViewManager.setAccessibilityLabelledBy(view, (Dynamic) value); + Dynamic dynamicFromObject = new DynamicFromObject(value); + mViewManager.setAccessibilityLabelledBy(view, dynamicFromObject); break; case ViewProps.OPACITY: mViewManager.setOpacity(view, value == null ? 1.0f : ((Double) value).floatValue()); diff --git a/packages/rn-tester/js/examples/Accessibility/AccessibilityExample.js b/packages/rn-tester/js/examples/Accessibility/AccessibilityExample.js index 447ef69dcb56..cb1665743fa6 100644 --- a/packages/rn-tester/js/examples/Accessibility/AccessibilityExample.js +++ b/packages/rn-tester/js/examples/Accessibility/AccessibilityExample.js @@ -26,6 +26,7 @@ const { StyleSheet, Slider, Platform, + Switch, } = require('react-native'); import type {EventSubscription} from 'react-native/Libraries/vendor/emitter/EventEmitter'; @@ -211,6 +212,14 @@ class AccessibilityExample extends React.Component<{}> { value="Foo" /> + + Enable Fielld + + ); From e181990e740cb8f78d04f4c1a741299d7406652f Mon Sep 17 00:00:00 2001 From: fabriziobertoglio1987 Date: Mon, 15 Aug 2022 21:39:20 +0800 Subject: [PATCH 2/2] Code Review from Alex Perhaps we want to put this in its own , since it is a switch and doesn't act on the preceding fields (naming may be confusing). We could label this instead as a concrete example such as "Enable notifications", or more generically: "Switch example". https://github.com/facebook/react-native/pull/34371/files#r942608407 --- .../js/examples/Accessibility/AccessibilityExample.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/rn-tester/js/examples/Accessibility/AccessibilityExample.js b/packages/rn-tester/js/examples/Accessibility/AccessibilityExample.js index cb1665743fa6..9a53ceedc50e 100644 --- a/packages/rn-tester/js/examples/Accessibility/AccessibilityExample.js +++ b/packages/rn-tester/js/examples/Accessibility/AccessibilityExample.js @@ -212,8 +212,10 @@ class AccessibilityExample extends React.Component<{}> { value="Foo" /> + + - Enable Fielld + Enable Notifications