Skip to content

Commit 4fbc54b

Browse files
committed
accessibilityUnit hours param Java test implementation
1 parent 7b4231f commit 4fbc54b

File tree

7 files changed

+36
-15
lines changed

7 files changed

+36
-15
lines changed

Libraries/Text/Text.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,7 @@ const Text: React.AbstractComponent<
224224
<NativeVirtualText
225225
{...restProps}
226226
accessibilityState={_accessibilityState}
227+
accessibilityUnit={{hours: 10}}
227228
{...eventHandlersForText}
228229
accessibilityLabel={ariaLabel ?? accessibilityLabel}
229230
accessibilityRole={
@@ -243,6 +244,7 @@ const Text: React.AbstractComponent<
243244
<NativeText
244245
{...restProps}
245246
{...eventHandlersForText}
247+
accessibilityUnit={{hours: 10}}
246248
disabled={_disabled}
247249
selectable={_selectable}
248250
accessible={

ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -266,12 +266,6 @@ public void setAccessibilityCollectionItem(
266266
view.setTag(R.id.accessibility_collection_item, accessibilityCollectionItem);
267267
}
268268

269-
@ReactProp(name = "accessibilityUnit")
270-
public void setAccessibilityUnit(@NonNull T view, @Nullable ReadableMap accessibilityUnit) {
271-
Log.w("TESTING::BaseViewManager", "setAccessibilityUnit");
272-
Log.w("TESTING::BaseViewManager", "accessibilityUnit: " + (accessibilityUnit));
273-
}
274-
275269
@Override
276270
@ReactProp(name = ViewProps.ACCESSIBILITY_STATE)
277271
public void setViewState(@NonNull T view, @Nullable ReadableMap accessibilityState) {
@@ -325,6 +319,12 @@ public void setViewState(@NonNull T view, @Nullable ReadableMap accessibilitySta
325319
}
326320
}
327321

322+
@Override
323+
@ReactProp(name = ViewProps.ACCESSIBILITY_UNIT)
324+
public void setAccessibilityUnit(@NonNull T view, @Nullable ReadableMap accessibilityUnit) {
325+
Log.w("TESTING::BaseViewManager", "setAccessibilityUnit");
326+
}
327+
328328
private void updateViewContentDescription(@NonNull T view) {
329329
final String accessibilityLabel = (String) view.getTag(R.id.accessibility_label);
330330
final ReadableMap accessibilityState = (ReadableMap) view.getTag(R.id.accessibility_state);

ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerAdapter.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ public void setAccessibilityCollectionItem(
4242
@Override
4343
public void setViewState(@NonNull T view, @Nullable ReadableMap accessibilityState) {}
4444

45+
@Override
46+
public void setAccessibilityUnit(@NonNull T view, @Nullable ReadableMap accessibilityUnit) {}
47+
4548
@Override
4649
public void setBackgroundColor(@NonNull T view, int backgroundColor) {}
4750

ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ public class ViewProps {
155155
public static final String ACCESSIBILITY_LIVE_REGION = "accessibilityLiveRegion";
156156
public static final String ACCESSIBILITY_ROLE = "accessibilityRole";
157157
public static final String ACCESSIBILITY_STATE = "accessibilityState";
158+
public static final String ACCESSIBILITY_UNIT = "accessibilityUnit";
158159
public static final String ACCESSIBILITY_ACTIONS = "accessibilityActions";
159160
public static final String ACCESSIBILITY_VALUE = "accessibilityValue";
160161
public static final String ACCESSIBILITY_LABELLED_BY = "accessibilityLabelledBy";

ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,15 @@
1212
import android.text.Spannable;
1313
import android.text.TextUtils;
1414
import android.text.util.Linkify;
15+
import android.util.Log;
1516
import android.view.Gravity;
1617
import android.view.View;
18+
19+
import androidx.annotation.NonNull;
1720
import androidx.annotation.Nullable;
1821
import com.facebook.common.logging.FLog;
1922
import com.facebook.react.bridge.JSApplicationIllegalArgumentException;
23+
import com.facebook.react.bridge.ReadableMap;
2024
import com.facebook.react.uimanager.BaseViewManager;
2125
import com.facebook.react.uimanager.PixelUtil;
2226
import com.facebook.react.uimanager.Spacing;
@@ -48,6 +52,13 @@ public void setAccessible(ReactTextView view, boolean accessible) {
4852
view.setFocusable(accessible);
4953
}
5054

55+
@Override
56+
@ReactProp(name = ViewProps.ACCESSIBILITY_UNIT)
57+
public void setAccessibilityUnit(@NonNull T view, @Nullable ReadableMap accessibilityUnit) {
58+
Log.w("TESTING::ReactTextAnchorViewManager", "setAccessibilityUnit");
59+
Log.w("TESTING::ReactTextAnchorViewManager", "accessibilityUnit: " + (accessibilityUnit));
60+
}
61+
5162
// maxLines can only be set in master view (block), doesn't really make sense to set in a span
5263
@ReactProp(name = ViewProps.NUMBER_OF_LINES, defaultInt = ViewDefaults.NUMBER_OF_LINES)
5364
public void setNumberOfLines(ReactTextView view, int numberOfLines) {

ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import android.text.StaticLayout;
2020
import android.text.TextPaint;
2121
import android.util.LayoutDirection;
22+
import android.util.Log;
2223
import android.util.LruCache;
2324
import android.view.View;
2425
import androidx.annotation.NonNull;
@@ -230,6 +231,9 @@ private static Spannable createSpannableFromAttributedString(
230231
// a new spannable will be wiped out
231232
List<SetSpanOperation> ops = new ArrayList<>();
232233

234+
Log.w(
235+
"TESTING::TextLayoutManagerMapBuffer",
236+
"getMapBuffer(AS_KEY_FRAGMENTS): " + (attributedString.getMapBuffer(AS_KEY_FRAGMENTS)));
233237
buildSpannableFromFragment(context, attributedString.getMapBuffer(AS_KEY_FRAGMENTS), sb, ops);
234238

235239
// TODO T31905686: add support for inline Images

packages/rn-tester/js/examples/Accessibility/AccessibilityExample.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -169,9 +169,10 @@ class AccessibilityExample extends React.Component<{}> {
169169
</View>
170170
<View>
171171
<Text accessible={true}>
172-
My number is{' '}
172+
My number is <View accessibilityUnit={{hours: '10'}} />
173173
<Text
174174
accessibilityRole="time"
175+
accessibilityUnit={{hours: '10'}}
175176
accessible={true}
176177
style={{backgroundColor: 'red'}}>
177178
17:00
@@ -413,21 +414,20 @@ class SwitchExample extends React.Component<
413414
_onSwitchToggle = () => {
414415
const switchState = !this.state.switchState;
415416

417+
console.log('switchState:', switchState);
416418
this.setState({
417419
switchState: switchState,
418420
});
419421
};
420422

421423
render(): React.Node {
422424
return (
423-
<TouchableOpacity
424-
onPress={this._onSwitchToggle}
425-
accessibilityLabel="element 12"
426-
accessibilityRole="switch"
427-
accessibilityState={{checked: this.state.switchState}}
428-
accessible={true}>
429-
<Text>Switch example</Text>
430-
</TouchableOpacity>
425+
<Text
426+
onPress={() => console.log('onPress')}
427+
disabled
428+
accessibilityState={{disabled: true}}>
429+
This is a Switch example
430+
</Text>
431431
);
432432
}
433433
}

0 commit comments

Comments
 (0)