mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Spannable -> Spanned (#51006)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/51006 Moves a bit of code, reading spans that we may not control, to query for `Spanned`, instead of `Spannable`, since some code (see last diff around ellipsization) may wrap intermediate Spannables. Changelog: [internal] Reviewed By: joevilches Differential Revision: D73820368 fbshipit-source-id: e107bcf1f2f7d5555fca68fb2209c12c3f99c099
This commit is contained in:
committed by
Facebook GitHub Bot
parent
746275ff14
commit
e43c5db84b
+5
-6
@@ -8,7 +8,7 @@
|
||||
package com.facebook.react.views.text
|
||||
|
||||
import android.text.Layout
|
||||
import android.text.Spannable
|
||||
import android.text.Spanned
|
||||
import android.view.View
|
||||
import com.facebook.react.R
|
||||
import com.facebook.react.internal.SystraceSection
|
||||
@@ -69,15 +69,14 @@ internal class PreparedLayoutTextViewManager :
|
||||
|
||||
// If this text view contains any clickable spans, set a view tag and reset the accessibility
|
||||
// delegate so that these can be picked up by the accessibility system.
|
||||
if (layout.text is Spannable) {
|
||||
val spannableText = layout.text as Spannable
|
||||
if (layout.text is Spanned) {
|
||||
val spannedText = layout.text as Spanned
|
||||
|
||||
val clickableSpans =
|
||||
spannableText.getSpans(0, layout.text.length, ReactClickableSpan::class.java)
|
||||
spannedText.getSpans(0, layout.text.length, ReactClickableSpan::class.java)
|
||||
view.setTag(
|
||||
R.id.accessibility_links,
|
||||
if (clickableSpans.size > 0) AccessibilityLinks(clickableSpans, spannableText)
|
||||
else null)
|
||||
if (clickableSpans.size > 0) AccessibilityLinks(clickableSpans, spannedText) else null)
|
||||
ReactTextViewAccessibilityDelegate.resetDelegate(
|
||||
view, view.isFocusable, view.importantForAccessibility)
|
||||
}
|
||||
|
||||
+1
-2
@@ -10,7 +10,6 @@ package com.facebook.react.views.text
|
||||
import android.graphics.Paint
|
||||
import android.graphics.Rect
|
||||
import android.os.Bundle
|
||||
import android.text.Spannable
|
||||
import android.text.Spanned
|
||||
import android.text.style.AbsoluteSizeSpan
|
||||
import android.text.style.ClickableSpan
|
||||
@@ -270,7 +269,7 @@ internal class ReactTextViewAccessibilityDelegate : ReactAccessibilityDelegate {
|
||||
return null
|
||||
}
|
||||
|
||||
public class AccessibilityLinks(spans: Array<out ClickableSpan>, text: Spannable) {
|
||||
public class AccessibilityLinks(spans: Array<out ClickableSpan>, text: Spanned) {
|
||||
private val links: List<AccessibleLink>
|
||||
|
||||
init {
|
||||
|
||||
Reference in New Issue
Block a user