mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-16 13:56:35 +00:00
Play dummy media to prevent app from closing (#10531)
This commit is contained in:
parent
9425b943dd
commit
b97d6d7059
@ -28,11 +28,29 @@ const setTouchControlsVisibility = (visible: boolean) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const playDummyMedia = () => {
|
||||||
|
const playerManager = castContext.getPlayerManager();
|
||||||
|
const loadRequestData = new cast.framework.messages.LoadRequestData();
|
||||||
|
loadRequestData.autoplay = true;
|
||||||
|
loadRequestData.media = new cast.framework.messages.MediaInformation();
|
||||||
|
loadRequestData.media.contentId =
|
||||||
|
"https://www.home-assistant.io/images/blog/2018-09-thinking-big/social.png";
|
||||||
|
loadRequestData.media.contentType = "image/jpeg";
|
||||||
|
loadRequestData.media.streamType = cast.framework.messages.StreamType.NONE;
|
||||||
|
const metadata = new cast.framework.messages.GenericMediaMetadata();
|
||||||
|
metadata.title = "Home Assistant Lovelace";
|
||||||
|
loadRequestData.media.metadata = metadata;
|
||||||
|
|
||||||
|
loadRequestData.requestId = 0;
|
||||||
|
playerManager.load(loadRequestData);
|
||||||
|
};
|
||||||
|
|
||||||
const showLovelaceController = () => {
|
const showLovelaceController = () => {
|
||||||
mediaPlayer.style.display = "none";
|
mediaPlayer.style.display = "none";
|
||||||
lovelaceController.style.display = "initial";
|
lovelaceController.style.display = "initial";
|
||||||
document.body.setAttribute("style", "overflow-y: auto !important");
|
document.body.setAttribute("style", "overflow-y: auto !important");
|
||||||
setTouchControlsVisibility(false);
|
setTouchControlsVisibility(false);
|
||||||
|
playDummyMedia();
|
||||||
};
|
};
|
||||||
|
|
||||||
const showMediaPlayer = () => {
|
const showMediaPlayer = () => {
|
||||||
@ -103,6 +121,12 @@ const playerManager = castContext.getPlayerManager();
|
|||||||
playerManager.setMessageInterceptor(
|
playerManager.setMessageInterceptor(
|
||||||
cast.framework.messages.MessageType.LOAD,
|
cast.framework.messages.MessageType.LOAD,
|
||||||
(loadRequestData) => {
|
(loadRequestData) => {
|
||||||
|
if (
|
||||||
|
loadRequestData.media.contentId ===
|
||||||
|
"https://www.home-assistant.io/images/blog/2018-09-thinking-big/social.png"
|
||||||
|
) {
|
||||||
|
return loadRequestData;
|
||||||
|
}
|
||||||
// We received a play media command, hide Lovelace and show media player
|
// We received a play media command, hide Lovelace and show media player
|
||||||
showMediaPlayer();
|
showMediaPlayer();
|
||||||
const media = loadRequestData.media;
|
const media = loadRequestData.media;
|
||||||
|
@ -107,6 +107,7 @@ export class HcMain extends HassElement {
|
|||||||
this._sendStatus();
|
this._sendStatus();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
this.addEventListener("dialog-closed", this._dialogClosed);
|
||||||
}
|
}
|
||||||
|
|
||||||
private _sendStatus(senderId?: string) {
|
private _sendStatus(senderId?: string) {
|
||||||
@ -131,6 +132,10 @@ export class HcMain extends HassElement {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private _dialogClosed = () => {
|
||||||
|
document.body.setAttribute("style", "overflow-y: auto !important");
|
||||||
|
};
|
||||||
|
|
||||||
private async _handleGetStatusMessage(msg: GetStatusMessage) {
|
private async _handleGetStatusMessage(msg: GetStatusMessage) {
|
||||||
this._sendStatus(msg.senderId!);
|
this._sendStatus(msg.senderId!);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user