2323import com .facebook .react .uimanager .annotations .ReactProp ;
2424import com .facebook .react .uimanager .events .RCTEventEmitter ;
2525import com .facebook .react .views .imagehelper .ResourceDrawableIdHelper ;
26+ import com .facebook .react .uimanager .ViewManagerDelegate ;
27+ import com .facebook .react .viewmanagers .FastImageViewManagerDelegate ;
28+ import com .facebook .react .viewmanagers .FastImageViewManagerInterface ;
2629
2730import java .util .List ;
2831import java .util .Map ;
2932import java .util .WeakHashMap ;
3033
3134import javax .annotation .Nullable ;
3235
33- class FastImageViewManager extends SimpleViewManager <FastImageViewWithUrl > implements FastImageProgressListener {
36+ class FastImageViewManager extends SimpleViewManager <FastImageViewWithUrl > implements FastImageProgressListener , FastImageViewManagerInterface < FastImageViewWithUrl > {
3437
3538 static final String REACT_CLASS = "FastImageView" ;
3639 static final String REACT_ON_LOAD_START_EVENT = "onFastImageLoadStart" ;
@@ -39,6 +42,18 @@ class FastImageViewManager extends SimpleViewManager<FastImageViewWithUrl> imple
3942
4043 @ Nullable
4144 private RequestManager requestManager = null ;
45+ private final ViewManagerDelegate <FastImageViewWithUrl > mDelegate ;
46+
47+
48+ @ Nullable
49+ @ Override
50+ protected ViewManagerDelegate <FastImageViewWithUrl > getDelegate () {
51+ return mDelegate ;
52+ }
53+
54+ public FastImageViewManager () {
55+ mDelegate = new FastImageViewManagerDelegate <>(this );
56+ }
4257
4358 @ NonNull
4459 @ Override
@@ -56,18 +71,21 @@ protected FastImageViewWithUrl createViewInstance(@NonNull ThemedReactContext re
5671 return new FastImageViewWithUrl (reactContext );
5772 }
5873
74+ @ Override
5975 @ ReactProp (name = "source" )
6076 public void setSource (FastImageViewWithUrl view , @ Nullable ReadableMap source ) {
6177 view .setSource (source );
6278 }
6379
80+ @ Override
6481 @ ReactProp (name = "defaultSource" )
6582 public void setDefaultSource (FastImageViewWithUrl view , @ Nullable String source ) {
6683 view .setDefaultSource (
6784 ResourceDrawableIdHelper .getInstance ()
6885 .getResourceDrawable (view .getContext (), source ));
6986 }
7087
88+ @ Override
7189 @ ReactProp (name = "tintColor" , customType = "Color" )
7290 public void setTintColor (FastImageViewWithUrl view , @ Nullable Integer color ) {
7391 if (color == null ) {
@@ -77,6 +95,7 @@ public void setTintColor(FastImageViewWithUrl view, @Nullable Integer color) {
7795 }
7896 }
7997
98+ @ Override
8099 @ ReactProp (name = "resizeMode" )
81100 public void setResizeMode (FastImageViewWithUrl view , String resizeMode ) {
82101 final FastImageViewWithUrl .ScaleType scaleType = FastImageViewConverter .getScaleType (resizeMode );
0 commit comments