mirror of
https://github.com/hensm/fx_cast.git
synced 2026-06-10 17:49:58 +00:00
Use receiver selector manager
This commit is contained in:
@@ -6,6 +6,9 @@ import SessionRequest from "./SessionRequest";
|
||||
import { AutoJoinPolicy
|
||||
, DefaultActionPolicy } from "../enums";
|
||||
|
||||
import { ReceiverSelectorMediaType }
|
||||
from "../../../receiverSelectorManager/ReceiverSelectorManager";
|
||||
|
||||
|
||||
export default class ApiConfig {
|
||||
public additionalSessionRequests: any[] = [];
|
||||
@@ -23,6 +26,7 @@ export default class ApiConfig {
|
||||
= DefaultActionPolicy.CREATE_SESSION
|
||||
|
||||
// TODO: Remove awful hack for mirror casting
|
||||
, public _selectedMedia: string = "app") {
|
||||
, public _selectedMedia: ReceiverSelectorMediaType
|
||||
= ReceiverSelectorMediaType.App) {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@ export function initialize (
|
||||
apiConfig = newApiConfig;
|
||||
|
||||
sendMessageResponse({
|
||||
subject: "bridge:/startDiscovery"
|
||||
subject: "main:/shimInitialized"
|
||||
});
|
||||
|
||||
apiConfig.receiverListener(receiverList.length
|
||||
@@ -157,7 +157,10 @@ export function requestSession (
|
||||
|
||||
// Open destination chooser
|
||||
sendMessageResponse({
|
||||
subject: "main:/openPopup"
|
||||
subject: "main:/selectReceiverBegin"
|
||||
, data: {
|
||||
defaultMediaType: apiConfig._selectedMedia
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -186,10 +189,12 @@ export function unescape (escaped: string): string {
|
||||
}
|
||||
|
||||
|
||||
onMessage(message => {
|
||||
onMessage(async message => {
|
||||
console.log(message)
|
||||
switch (message.subject) {
|
||||
case "shim:/initialized": {
|
||||
isAvailable = true;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -228,7 +233,7 @@ onMessage(message => {
|
||||
break;
|
||||
}
|
||||
|
||||
case "shim:/selectReceiver": {
|
||||
case "shim:/selectReceiverEnd": {
|
||||
console.info("fx_cast (Debug): Selected receiver");
|
||||
|
||||
const selectedReceiver = new Receiver(
|
||||
@@ -247,7 +252,7 @@ onMessage(message => {
|
||||
, selectedReceiver // receiver
|
||||
, (session: Session) => {
|
||||
sendMessageResponse({
|
||||
subject: "popup:/close"
|
||||
subject: "main:/sessionCreated"
|
||||
});
|
||||
|
||||
sessionRequestInProgress = false;
|
||||
@@ -272,26 +277,10 @@ onMessage(message => {
|
||||
break;
|
||||
}
|
||||
|
||||
/**
|
||||
* Popup is ready to receive data to populate the cast destination
|
||||
* chooser.
|
||||
*/
|
||||
case "shim:/popupReady": {
|
||||
sendMessageResponse({
|
||||
subject: "popup:/populateReceiverList"
|
||||
, data: {
|
||||
receivers: receiverList
|
||||
, selectedMedia: apiConfig._selectedMedia
|
||||
}
|
||||
});
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
/**
|
||||
* Popup closed before session established.
|
||||
*/
|
||||
case "shim:/popupClosed": {
|
||||
case "shim:/selectReceiverCancelled": {
|
||||
if (sessionRequestInProgress) {
|
||||
sessionRequestInProgress = false;
|
||||
sessionErrorCallback(new Error_(ErrorCode.CANCEL));
|
||||
|
||||
Reference in New Issue
Block a user