Improves RCTImage loading handlers to mimic iOS behavior

Summary: This is a port of D3283011 to Nodes.

Reviewed By: sahrens

Differential Revision: D3290662
This commit is contained in:
Ahmed El-Helw
2016-05-11 18:16:56 -07:00
parent fede138786
commit 273c2e539c
2 changed files with 4 additions and 2 deletions

View File

@@ -174,8 +174,8 @@ import com.facebook.react.views.image.ReactImageView;
@Nullable Object imageInfo,
@Nullable Animatable animatable) {
if (mCallback != null && mReactTag != 0) {
mCallback.dispatchImageLoadEvent(mReactTag, ImageLoadEvent.ON_LOAD_END);
mCallback.dispatchImageLoadEvent(mReactTag, ImageLoadEvent.ON_LOAD);
mCallback.dispatchImageLoadEvent(mReactTag, ImageLoadEvent.ON_LOAD_END);
}
}
@@ -190,6 +190,7 @@ import com.facebook.react.views.image.ReactImageView;
@Override
public void onFailure(String id, Throwable throwable) {
if (mCallback != null && mReactTag != 0) {
mCallback.dispatchImageLoadEvent(mReactTag, ImageLoadEvent.ON_ERROR);
mCallback.dispatchImageLoadEvent(mReactTag, ImageLoadEvent.ON_LOAD_END);
}
}

View File

@@ -155,8 +155,8 @@ import com.facebook.react.views.image.ImageLoadEvent;
BitmapUpdateListener listener = Assertions.assumeNotNull(mBitmapUpdateListener);
listener.onBitmapReady(bitmap);
listener.onImageLoadEvent(ImageLoadEvent.ON_LOAD_END);
listener.onImageLoadEvent(ImageLoadEvent.ON_LOAD);
listener.onImageLoadEvent(ImageLoadEvent.ON_LOAD_END);
} finally {
dataSource.close();
}
@@ -165,6 +165,7 @@ import com.facebook.react.views.image.ImageLoadEvent;
@Override
public void onFailure(DataSource<CloseableReference<CloseableImage>> dataSource) {
if (mDataSource == dataSource) {
Assertions.assumeNotNull(mBitmapUpdateListener).onImageLoadEvent(ImageLoadEvent.ON_ERROR);
Assertions.assumeNotNull(mBitmapUpdateListener).onImageLoadEvent(ImageLoadEvent.ON_LOAD_END);
mDataSource = null;
}