add PhotoViewer component

Reviewed By: devknoll

Differential Revision: D3122312

fb-gh-sync-id: 2646cf79205637e347f2062c1b3639a242cded0d
fbshipit-source-id: 2646cf79205637e347f2062c1b3639a242cded0d
This commit is contained in:
Felix Oghina 2016-04-12 10:37:35 -07:00 committed by Facebook Github Bot 8
parent 21b3180a4c
commit d403ac6a31
1 changed files with 20 additions and 1 deletions

View File

@ -9,8 +9,12 @@
package com.facebook.react.views.image;
import javax.annotation.Nullable;
import android.support.annotation.IntDef;
import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.WritableMap;
import com.facebook.react.uimanager.events.Event;
import com.facebook.react.uimanager.events.RCTEventEmitter;
@ -31,10 +35,20 @@ public class ImageLoadEvent extends Event<ImageLoadEvent> {
public static final int ON_PROGRESS = 5;
private final int mEventType;
private final @Nullable String mImageUri;
public ImageLoadEvent(int viewId, long timestampMs, @ImageEventType int eventType) {
this(viewId, timestampMs, eventType, null);
}
public ImageLoadEvent(
int viewId,
long timestampMs,
@ImageEventType int eventType,
@Nullable String imageUri) {
super(viewId, timestampMs);
mEventType = eventType;
mImageUri = imageUri;
}
public static String eventNameForType(@ImageEventType int eventType) {
@ -68,6 +82,11 @@ public class ImageLoadEvent extends Event<ImageLoadEvent> {
@Override
public void dispatch(RCTEventEmitter rctEventEmitter) {
rctEventEmitter.receiveEvent(getViewTag(), getEventName(), null);
WritableMap eventData = null;
if (mImageUri != null) {
eventData = Arguments.createMap();
eventData.putString("uri", mImageUri);
}
rctEventEmitter.receiveEvent(getViewTag(), getEventName(), eventData);
}
}