Fix for NPE when playerState is null (#14191)

Signed-off-by: Mark Hilbush <mark@hilbush.com>
This commit is contained in:
Mark Hilbush 2023-01-10 09:02:40 -05:00 committed by GitHub
parent 72786df044
commit 65816aafd7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -157,6 +157,7 @@ public class ChromecastStatusUpdater {
return; return;
} }
if (mediaStatus.playerState != null) {
switch (mediaStatus.playerState) { switch (mediaStatus.playerState) {
case IDLE: case IDLE:
break; break;
@ -174,13 +175,14 @@ public class ChromecastStatusUpdater {
logger.debug("Unknown media status: {}", mediaStatus.playerState); logger.debug("Unknown media status: {}", mediaStatus.playerState);
break; break;
} }
}
callback.updateState(CHANNEL_CURRENT_TIME, new QuantityType<>(mediaStatus.currentTime, Units.SECOND)); callback.updateState(CHANNEL_CURRENT_TIME, new QuantityType<>(mediaStatus.currentTime, Units.SECOND));
// If we're playing, paused or buffering but don't have any MEDIA information don't null everything out. // If we're playing, paused or buffering but don't have any MEDIA information don't null everything out.
Media media = mediaStatus.media; Media media = mediaStatus.media;
if (media == null && (mediaStatus.playerState == PLAYING || mediaStatus.playerState == PAUSED if (media == null && (mediaStatus.playerState == null || mediaStatus.playerState == PLAYING
|| mediaStatus.playerState == BUFFERING)) { || mediaStatus.playerState == PAUSED || mediaStatus.playerState == BUFFERING)) {
return; return;
} }