23
23
import com .facebook .react .uimanager .annotations .ReactProp ;
24
24
import com .facebook .react .uimanager .events .RCTEventEmitter ;
25
25
import 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 ;
26
29
27
30
import java .util .List ;
28
31
import java .util .Map ;
29
32
import java .util .WeakHashMap ;
30
33
31
34
import javax .annotation .Nullable ;
32
35
33
- class FastImageViewManager extends SimpleViewManager <FastImageViewWithUrl > implements FastImageProgressListener {
36
+ class FastImageViewManager extends SimpleViewManager <FastImageViewWithUrl > implements FastImageProgressListener , FastImageViewManagerInterface < FastImageViewWithUrl > {
34
37
35
38
static final String REACT_CLASS = "FastImageView" ;
36
39
static final String REACT_ON_LOAD_START_EVENT = "onFastImageLoadStart" ;
@@ -39,6 +42,18 @@ class FastImageViewManager extends SimpleViewManager<FastImageViewWithUrl> imple
39
42
40
43
@ Nullable
41
44
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
+ }
42
57
43
58
@ NonNull
44
59
@ Override
@@ -56,18 +71,21 @@ protected FastImageViewWithUrl createViewInstance(@NonNull ThemedReactContext re
56
71
return new FastImageViewWithUrl (reactContext );
57
72
}
58
73
74
+ @ Override
59
75
@ ReactProp (name = "source" )
60
76
public void setSource (FastImageViewWithUrl view , @ Nullable ReadableMap source ) {
61
77
view .setSource (source );
62
78
}
63
79
80
+ @ Override
64
81
@ ReactProp (name = "defaultSource" )
65
82
public void setDefaultSource (FastImageViewWithUrl view , @ Nullable String source ) {
66
83
view .setDefaultSource (
67
84
ResourceDrawableIdHelper .getInstance ()
68
85
.getResourceDrawable (view .getContext (), source ));
69
86
}
70
87
88
+ @ Override
71
89
@ ReactProp (name = "tintColor" , customType = "Color" )
72
90
public void setTintColor (FastImageViewWithUrl view , @ Nullable Integer color ) {
73
91
if (color == null ) {
@@ -77,6 +95,7 @@ public void setTintColor(FastImageViewWithUrl view, @Nullable Integer color) {
77
95
}
78
96
}
79
97
98
+ @ Override
80
99
@ ReactProp (name = "resizeMode" )
81
100
public void setResizeMode (FastImageViewWithUrl view , String resizeMode ) {
82
101
final FastImageViewWithUrl .ScaleType scaleType = FastImageViewConverter .getScaleType (resizeMode );
0 commit comments