1515import android .net .Uri ;
1616import android .widget .TextView ;
1717import androidx .annotation .Nullable ;
18+ import androidx .core .util .Preconditions ;
1819import com .facebook .drawee .controller .AbstractDraweeControllerBuilder ;
19- import com .facebook .drawee .drawable .ScalingUtils ;
2020import com .facebook .drawee .generic .GenericDraweeHierarchy ;
2121import com .facebook .drawee .generic .GenericDraweeHierarchyBuilder ;
2222import com .facebook .drawee .interfaces .DraweeController ;
@@ -53,8 +53,8 @@ class FrescoBasedReactTextInlineImageSpan extends TextInlineImageSpan {
5353 private int mTintColor ;
5454 private Uri mUri ;
5555 private int mWidth ;
56- private ReadableMap mHeaders ;
57- private String mResizeMode ;
56+ private @ Nullable ReadableMap mHeaders ;
57+ private @ Nullable String mResizeMode ;
5858
5959 private @ Nullable TextView mTextView ;
6060
@@ -64,10 +64,10 @@ public FrescoBasedReactTextInlineImageSpan(
6464 int width ,
6565 int tintColor ,
6666 @ Nullable Uri uri ,
67- ReadableMap headers ,
67+ @ Nullable ReadableMap headers ,
6868 AbstractDraweeControllerBuilder draweeControllerBuilder ,
6969 @ Nullable Object callerContext ,
70- String resizeMode ) {
70+ @ Nullable String resizeMode ) {
7171 mDraweeHolder = new DraweeHolder (GenericDraweeHierarchyBuilder .newInstance (resources ).build ());
7272 mDraweeControllerBuilder = draweeControllerBuilder ;
7373 mCallerContext = callerContext ;
@@ -118,8 +118,8 @@ public int getSize(Paint paint, CharSequence text, int start, int end, Paint.Fon
118118 return mWidth ;
119119 }
120120
121- // NULLSAFE_FIXME[Inconsistent Subclass Parameter Annotation]
122- public void setTextView (TextView textView ) {
121+ @ Override
122+ public void setTextView (@ Nullable TextView textView ) {
123123 mTextView = textView ;
124124 }
125125
@@ -138,26 +138,24 @@ public void draw(
138138 ImageRequestBuilder imageRequestBuilder = ImageRequestBuilder .newBuilderWithSource (mUri );
139139 ImageRequest imageRequest =
140140 ReactNetworkImageRequest .fromBuilderWithHeaders (imageRequestBuilder , mHeaders );
141- mDraweeHolder .getHierarchy ().setActualImageScaleType (getResizeMode (mResizeMode ));
142- DraweeController draweeController =
143- mDraweeControllerBuilder
144- .reset ()
145- .setOldController (mDraweeHolder .getController ())
146- // NULLSAFE_FIXME[Parameter Not Nullable]
147- .setCallerContext (mCallerContext )
148- .setImageRequest (imageRequest )
149- .build ();
141+ mDraweeHolder
142+ .getHierarchy ()
143+ .setActualImageScaleType (ImageResizeMode .toScaleType (mResizeMode ));
144+ mDraweeControllerBuilder .reset ();
145+ mDraweeControllerBuilder .setOldController (mDraweeHolder .getController ());
146+ if (mCallerContext != null ) {
147+ mDraweeControllerBuilder .setCallerContext (mCallerContext );
148+ }
149+ mDraweeControllerBuilder .setImageRequest (imageRequest );
150+ DraweeController draweeController = mDraweeControllerBuilder .build ();
150151 mDraweeHolder .setController (draweeController );
151152 mDraweeControllerBuilder .reset ();
152153
153- mDrawable = mDraweeHolder .getTopLevelDrawable ();
154- // NULLSAFE_FIXME[Nullable Dereference]
154+ mDrawable = Preconditions .checkNotNull (mDraweeHolder .getTopLevelDrawable ());
155155 mDrawable .setBounds (0 , 0 , mWidth , mHeight );
156156 if (mTintColor != 0 ) {
157- // NULLSAFE_FIXME[Nullable Dereference]
158157 mDrawable .setColorFilter (mTintColor , PorterDuff .Mode .SRC_IN );
159158 }
160- // NULLSAFE_FIXME[Nullable Dereference]
161159 mDrawable .setCallback (mTextView );
162160 }
163161
@@ -168,19 +166,13 @@ public void draw(
168166 // Align to center
169167 int fontHeight = (int ) (paint .descent () - paint .ascent ());
170168 int centerY = y + (int ) paint .descent () - fontHeight / 2 ;
171- // NULLSAFE_FIXME[Nullable Dereference]
172169 int transY = centerY - (mDrawable .getBounds ().bottom - mDrawable .getBounds ().top ) / 2 ;
173170
174171 canvas .translate (x , transY );
175- // NULLSAFE_FIXME[Nullable Dereference]
176172 mDrawable .draw (canvas );
177173 canvas .restore ();
178174 }
179175
180- private ScalingUtils .ScaleType getResizeMode (String resizeMode ) {
181- return ImageResizeMode .toScaleType (resizeMode );
182- }
183-
184176 @ Override
185177 public int getWidth () {
186178 return mWidth ;
0 commit comments