feat(android): add onControlsVisiblityChange
(#3925)
* Adding onControlsVisiblityChange for Android
This commit is contained in:
@@ -37,6 +37,7 @@ public class VideoEventEmitter {
|
||||
private static final String EVENT_ERROR = "onVideoError";
|
||||
private static final String EVENT_PROGRESS = "onVideoProgress";
|
||||
private static final String EVENT_BANDWIDTH = "onVideoBandwidthUpdate";
|
||||
private static final String EVENT_CONTROLS_VISIBILITY_CHANGE = "onControlsVisibilityChange";
|
||||
private static final String EVENT_SEEK = "onVideoSeek";
|
||||
private static final String EVENT_END = "onVideoEnd";
|
||||
private static final String EVENT_FULLSCREEN_WILL_PRESENT = "onVideoFullscreenPlayerWillPresent";
|
||||
@@ -89,6 +90,7 @@ public class VideoEventEmitter {
|
||||
EVENT_TEXT_TRACK_DATA_CHANGED,
|
||||
EVENT_VIDEO_TRACKS,
|
||||
EVENT_BANDWIDTH,
|
||||
EVENT_CONTROLS_VISIBILITY_CHANGE,
|
||||
EVENT_ON_RECEIVE_AD_EVENT
|
||||
};
|
||||
|
||||
@@ -120,6 +122,7 @@ public class VideoEventEmitter {
|
||||
EVENT_TEXT_TRACK_DATA_CHANGED,
|
||||
EVENT_VIDEO_TRACKS,
|
||||
EVENT_BANDWIDTH,
|
||||
EVENT_CONTROLS_VISIBILITY_CHANGE,
|
||||
EVENT_ON_RECEIVE_AD_EVENT
|
||||
})
|
||||
@interface VideoEvents {
|
||||
@@ -164,6 +167,8 @@ public class VideoEventEmitter {
|
||||
|
||||
private static final String EVENT_PROP_IS_PLAYING = "isPlaying";
|
||||
|
||||
private static final String EVENT_CONTROLS_VISIBLE = "isVisible";
|
||||
|
||||
public void setViewId(int viewId) {
|
||||
this.viewId = viewId;
|
||||
}
|
||||
@@ -354,6 +359,12 @@ public class VideoEventEmitter {
|
||||
receiveEvent(EVENT_END, null);
|
||||
}
|
||||
|
||||
public void controlsVisibilityChanged(boolean isVisible) {
|
||||
WritableMap map = Arguments.createMap();
|
||||
map.putBoolean(EVENT_CONTROLS_VISIBLE, isVisible);
|
||||
receiveEvent(EVENT_CONTROLS_VISIBILITY_CHANGE, map);
|
||||
}
|
||||
|
||||
public void fullscreenWillPresent() {
|
||||
receiveEvent(EVENT_FULLSCREEN_WILL_PRESENT, null);
|
||||
}
|
||||
|
@@ -416,6 +416,12 @@ public class ReactExoplayerView extends FrameLayout implements
|
||||
private void initializePlayerControl() {
|
||||
if (playerControlView == null) {
|
||||
playerControlView = new LegacyPlayerControlView(getContext());
|
||||
playerControlView.addVisibilityListener(new LegacyPlayerControlView.VisibilityListener() {
|
||||
@Override
|
||||
public void onVisibilityChange(int visibility) {
|
||||
eventEmitter.controlsVisibilityChanged(visibility == View.VISIBLE);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (fullScreenPlayerView == null) {
|
||||
|
Reference in New Issue
Block a user