Podcast + Video player native bridge small refactor (#11345)

This commit is contained in:
Fernando Valverde 2020-11-10 07:36:05 -06:00 committed by GitHub
parent bae898ed1a
commit 756acebaed
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 38 additions and 20 deletions

View file

@ -330,26 +330,30 @@ function initializePodcastPlayback() {
pausePodcastBar();
}
function playPause(audio) {
function ahoyMessage(action) {
window.activeEpisode = audio.getAttribute('data-episode');
window.activePodcast = audio.getAttribute('data-podcast');
var currentState = currentAudioState();
var properties = {
action: action,
episode: window.activeEpisode,
podcast: window.activePodcast,
deviceType: deviceType,
};
ahoy.track('Podcast Player Streaming', properties);
}
function playPause(audio) {
var currentState = currentAudioState();
if (!currentState.playing) {
properties.action = 'play';
ahoyMessage('play');
changeStatusMessage('initializing...');
startAudioPlayback(audio);
} else {
properties.action = 'pause';
ahoyMessage('pause');
pauseAudioPlayback(audio);
changeStatusMessage(null);
}
ahoy.track('Podcast Player Streaming', properties);
}
function muteUnmute(audio) {
@ -478,16 +482,20 @@ function initializePodcastPlayback() {
}
var currentState = currentAudioState();
if (message.action === 'tick') {
currentState.currentTime = message.currentTime;
currentState.duration = message.duration;
updateProgress(currentState.currentTime, currentState.duration, 100);
} else if (message.action === 'init') {
getById('time').innerHTML = 'initializing...';
currentState.currentTime = 0;
} else {
console.log('Unrecognized podcast message: ', message); // eslint-disable-line no-console
switch (message.action) {
case 'init':
getById('time').innerHTML = 'initializing...';
currentState.currentTime = 0;
break;
case 'tick':
currentState.currentTime = message.currentTime;
currentState.duration = message.duration;
updateProgress(currentState.currentTime, currentState.duration, 100);
break;
default:
console.log('Unrecognized podcast message: ', message); // eslint-disable-line no-console
}
saveMediaState(currentState);
}

View file

@ -136,12 +136,22 @@ function initializeVideoPlayback() {
return;
}
if (message.action == 'pause') {
getById('pause-butt').classList.remove('active');
getById('play-butt').classList.add('active');
videoPlayerEvent(false);
} else if (message.action == 'tick') {
currentTime = message.currentTime;
switch (message.action) {
case 'play':
getById('pause-butt').classList.add('active');
getById('play-butt').classList.remove('active');
videoPlayerEvent(true);
break;
case 'pause':
getById('pause-butt').classList.remove('active');
getById('play-butt').classList.add('active');
videoPlayerEvent(false);
break;
case 'tick':
currentTime = message.currentTime;
break;
default:
console.log('Unrecognized video message: ', message); // eslint-disable-line no-console
}
}