From aca5ae9f6707e739a6c6ed2e63ed1903b4f22597 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 5 Aug 2019 22:21:54 -0700 Subject: [PATCH] Fix Cast demo (#3460) --- demo/src/custom-cards/cast-demo-row.ts | 7 ++++++- src/cast/cast_manager.ts | 10 ++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/demo/src/custom-cards/cast-demo-row.ts b/demo/src/custom-cards/cast-demo-row.ts index 34aebc310f..fd852f9739 100644 --- a/demo/src/custom-cards/cast-demo-row.ts +++ b/demo/src/custom-cards/cast-demo-row.ts @@ -54,7 +54,12 @@ class CastDemoRow extends LitElement implements EntityRow { mgr.castContext.addEventListener( cast.framework.CastContextEventType.SESSION_STATE_CHANGED, (ev) => { - if (ev.sessionState === "SESSION_STARTED") { + // On Android, opening a new session always results in SESSION_RESUMED. + // So treat both as the same. + if ( + ev.sessionState === "SESSION_STARTED" || + ev.sessionState === "SESSION_RESUMED" + ) { castSendShowDemo(mgr); } } diff --git a/src/cast/cast_manager.ts b/src/cast/cast_manager.ts index 1b9a1d7e66..87404d3841 100644 --- a/src/cast/cast_manager.ts +++ b/src/cast/cast_manager.ts @@ -122,10 +122,12 @@ export class CastManager { if (__DEV__) { console.log("Cast session state changed", ev.sessionState); } - if (ev.sessionState === "SESSION_RESUMED") { - this.sendMessage({ type: "get_status" }); - this._attachMessageListener(); - } else if (ev.sessionState === "SESSION_STARTED") { + // On Android, opening a new session always results in SESSION_RESUMED. + // So treat both as the same. + if ( + ev.sessionState === "SESSION_STARTED" || + ev.sessionState === "SESSION_RESUMED" + ) { if (this.auth) { castSendAuth(this, this.auth); } else {