fix nullsafe FIXMEs for ReactTextAnchorViewManager.java and mark nullsafe

Summary:
https://developer.android.com/reference/android/widget/TextView#setEllipsize(android.text.TextUtils.TruncateAt) explicitly allows setting setEllipsize's argument in TextView to null to turn off ellipsizing, which is what we want for `clip`

Gone trough all the FIXMEs added in the previous diff by the nullsafe tool, marked the class as nullsafe and ensured no remaining violations.
Changelog: [Android][Fixed] Made ReactTextAnchorViewManager.java nullsafe

Reviewed By: alanleedev

Differential Revision: D72460123

fbshipit-source-id: 26d91d273ead5906060772f65a32fbf4389d0db3
This commit is contained in:
Gijs Weterings
2025-04-09 09:07:30 -07:00
committed by Facebook GitHub Bot
parent c174c11336
commit e04b5b3ecf
2 changed files with 4 additions and 3 deletions
@@ -15,6 +15,7 @@ import android.view.Gravity;
import android.view.View;
import androidx.annotation.Nullable;
import com.facebook.common.logging.FLog;
import com.facebook.infer.annotation.Nullsafe;
import com.facebook.react.common.ReactConstants;
import com.facebook.react.uimanager.BackgroundStyleApplicator;
import com.facebook.react.uimanager.BaseViewManager;
@@ -38,6 +39,7 @@ import com.facebook.react.uimanager.style.LogicalEdge;
* Instead we use @{link ReactBaseTextShadowNode} hierarchy to calculate a {@link Spannable} text
* represented the whole text subtree.
*/
@Nullsafe(Nullsafe.Mode.LOCAL)
public abstract class ReactTextAnchorViewManager<T extends View, C extends ReactBaseTextShadowNode>
extends BaseViewManager<T, C> {
@@ -72,7 +74,6 @@ public abstract class ReactTextAnchorViewManager<T extends View, C extends React
} else if (ellipsizeMode.equals("middle")) {
view.setEllipsizeLocation(TextUtils.TruncateAt.MIDDLE);
} else if (ellipsizeMode.equals("clip")) {
// NULLSAFE_FIXME[Parameter Not Nullable]
view.setEllipsizeLocation(null);
} else {
FLog.w(ReactConstants.TAG, "Invalid ellipsizeMode: " + ellipsizeMode);
@@ -70,7 +70,7 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
private boolean mContainsImages;
private int mNumberOfLines;
private TextUtils.TruncateAt mEllipsizeLocation;
private @Nullable TextUtils.TruncateAt mEllipsizeLocation;
private boolean mAdjustsFontSizeToFit;
private float mFontSize;
private float mMinimumFontSize;
@@ -687,7 +687,7 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
applyTextAttributes();
}
public void setEllipsizeLocation(TextUtils.TruncateAt ellipsizeLocation) {
public void setEllipsizeLocation(@Nullable TextUtils.TruncateAt ellipsizeLocation) {
mEllipsizeLocation = ellipsizeLocation;
}