Skip to content

Commit c840505

Browse files
authored
fix/skipmarker-event-android (#450)
* fix: add 'skipMarker' button click track event * fix: update version to 7.12.3
1 parent f10d004 commit c840505

File tree

3 files changed

+20
-3
lines changed

3 files changed

+20
-3
lines changed

android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactTVExoplayerView.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1911,6 +1911,11 @@ public void onWatchlistButtonClicked() {
19111911
eventEmitter.watchlistButtonClick();
19121912
}
19131913

1914+
@Override
1915+
public void onSkipMarkerClicked(SkipMarker skipMarker) {
1916+
eventEmitter.skipMarkerClick(skipMarker);
1917+
}
1918+
19141919
@Override
19151920
public void onEpgButtonClicked() {
19161921
eventEmitter.epgIconClick();

android-exoplayer/src/main/java/com/brentvatne/exoplayer/VideoEventEmitter.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import androidx.media3.extractor.metadata.id3.Id3Frame;
88
import androidx.media3.extractor.metadata.id3.TextInformationFrame;
99

10+
import com.diceplatform.doris.ui.skipmarker.SkipMarker;
1011
import com.facebook.react.ReactApplication;
1112
import com.facebook.react.bridge.Arguments;
1213
import com.facebook.react.bridge.ReactContext;
@@ -63,6 +64,7 @@ class VideoEventEmitter {
6364
private static final String EVENT_ANNOTATIONS_BUTTON_CLICK = "onAnnotationsButtonClick";
6465
private static final String EVENT_SUBTITLE_TRACK_CHANGED = "onSubtitleTrackChanged";
6566
private static final String EVENT_AUDIO_TRACK_CHANGED = "onAudioTrackChanged";
67+
private static final String EVENT_SKIP_MARKER = "onSkipMarkerButton";
6668

6769
static final String[] Events = {
6870
EVENT_LOAD_START,
@@ -100,7 +102,8 @@ class VideoEventEmitter {
100102
EVENT_AUDIO_TRACK_CHANGED,
101103
EVENT_REQUIRE_AD_PARAMETERS,
102104
EVENT_RELOAD_CURRENT_SOURCE,
103-
EVENT_BEHIND_LIVE_WINDOW_ERROR
105+
EVENT_BEHIND_LIVE_WINDOW_ERROR,
106+
EVENT_SKIP_MARKER
104107
};
105108

106109
@Retention(RetentionPolicy.SOURCE)
@@ -140,7 +143,8 @@ class VideoEventEmitter {
140143
EVENT_AUDIO_TRACK_CHANGED,
141144
EVENT_REQUIRE_AD_PARAMETERS,
142145
EVENT_RELOAD_CURRENT_SOURCE,
143-
EVENT_BEHIND_LIVE_WINDOW_ERROR
146+
EVENT_BEHIND_LIVE_WINDOW_ERROR,
147+
EVENT_SKIP_MARKER
144148
})
145149
@interface VideoEvents {
146150
}
@@ -178,6 +182,7 @@ class VideoEventEmitter {
178182
private static final String EVENT_PROP_DATE = "date";
179183
private static final String EVENT_PROP_IS_BLOCKING = "isBlocking";
180184
private static final String EVENT_PROP_LANGUAGE = "language";
185+
private static final String EVENT_PROP_TARGET = "target";
181186

182187
private static final String EVENT_PROP_ERROR = "error";
183188
private static final String EVENT_PROP_ERROR_STRING = "errorString";
@@ -402,6 +407,13 @@ void watchlistButtonClick() {
402407
receiveEvent(EVENT_WATCHLIST_BUTTON_CLICK, null);
403408
}
404409

410+
void skipMarkerClick(SkipMarker skipMarker) {
411+
WritableMap map = Arguments.createMap();
412+
map.putString(EVENT_PROP_TYPE, skipMarker.skipMarkerType.name().toLowerCase());
413+
map.putLong(EVENT_PROP_TARGET, skipMarker.endTimeMs);
414+
receiveEvent(EVENT_SKIP_MARKER, map);
415+
}
416+
405417
void annotationsButtonClick() {
406418
receiveEvent(EVENT_ANNOTATIONS_BUTTON_CLICK, null);
407419
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-native-video",
3-
"version": "7.12.4",
3+
"version": "7.12.5",
44
"dorisAndroidVersion": "5.2.1",
55
"messagingAndroidVersion": "1.1.0",
66
"description": "A <Video /> element for react-native",

0 commit comments

Comments
 (0)