how to reset PlayerMessage on Page Reload
- Dominant language
- Java
- Stars
- 21.9k
- Forks
- 6k
- PR merge metrics
- No merged PRs in 30d
Description
I am creating a custom view by extending `StyledPlayerView` and adding that view to the xml. Also my PlayerView have callbacks on different timestamp that I am creating using `createMessage()`.
```
init {
controllerAutoShow = false
useController = false
resizeMode = AspectRatioFrameLayout.RESIZE_MODE_FILL
setUpVideoPlayer()
}
private fun setUpVideoPlayer() {
mVideoPlayer = ExoPlayer.Builder(context).build()
player = mVideoPlayer
videoPlayerError = VideoPlayerError()
setCallbacks()
// CODE BLOCK TO SET MEDIA FOR EXOPLAYER AND PREPARE & PLAY
}
private fun setCallback() {
for (event in EventMap) {
mPlayerMessageList.add(mVideoPlayer?.createMessage { value, payload ->
mEventCallback(EventCallback(eventType = eventType)
}
?.setLooper(Looper.getMainLooper())
?.setPosition( mediaFileIndex, position)
?.setPayload(beaconInfo)
?.setDeleteAfterDelivery(true)
?.send()
)
}
}
```
Now everything works fine for normal app function but on Page reload, I need to update all the data but I am not getting the events from `createMessage()`
I even tried re-initializing the whole player by
```
fun reInitializeExoplayer() {
if (mVideoPlayer != null && player != null) {
mVideoPlayer?.removeMediaItem(0)
mVideoPlayer?.let {
it.release()
player?.release()
mVideoPlayer = null
player = null
videoAnalyticsListener = null
}
setUpVideoPlayer()
}
}
```
I have tried many things but not able to work around this.
Contributor guide
Assessment
This issue has not been assessed yet.