Fix wrongly passing default media app ID to receiver selectors

This commit is contained in:
hensm
2020-06-28 06:01:15 +01:00
parent c96f3e1bc0
commit da6dcf27f1
6 changed files with 12 additions and 13 deletions

View File

@@ -36,7 +36,7 @@ export default class NativeReceiverSelector extends ReceiverSelector {
receivers: Receiver[] receivers: Receiver[]
, defaultMediaType: ReceiverSelectorMediaType , defaultMediaType: ReceiverSelectorMediaType
, availableMediaTypes: ReceiverSelectorMediaType , availableMediaTypes: ReceiverSelectorMediaType
, requestedAppId: string): Promise<void> { , requestedAppId?: string): Promise<void> {
this.bridgePort = await bridge.connect(); this.bridgePort = await bridge.connect();
@@ -70,8 +70,9 @@ export default class NativeReceiverSelector extends ReceiverSelector {
, i18n_extensionName: _("extensionName") , i18n_extensionName: _("extensionName")
, i18n_castButtonTitle: _("popupCastButtonTitle") , i18n_castButtonTitle: _("popupCastButtonTitle")
, i18n_stopButtonTitle: _("popupStopButtonTitle") , i18n_stopButtonTitle: _("popupStopButtonTitle")
, i18n_mediaTypeApp: knownApps[requestedAppId]?.name , i18n_mediaTypeApp:
?? _("popupMediaTypeApp") (requestedAppId && knownApps[requestedAppId]?.name)
?? _("popupMediaTypeApp")
, i18n_mediaTypeTab: _("popupMediaTypeTab") , i18n_mediaTypeTab: _("popupMediaTypeTab")
, i18n_mediaTypeScreen: _("popupMediaTypeScreen") , i18n_mediaTypeScreen: _("popupMediaTypeScreen")
, i18n_mediaTypeFile: _("popupMediaTypeFile") , i18n_mediaTypeFile: _("popupMediaTypeFile")

View File

@@ -56,7 +56,7 @@ export default class PopupReceiverSelector extends ReceiverSelector {
receivers: Receiver[] receivers: Receiver[]
, defaultMediaType: ReceiverSelectorMediaType , defaultMediaType: ReceiverSelectorMediaType
, availableMediaTypes: ReceiverSelectorMediaType , availableMediaTypes: ReceiverSelectorMediaType
, requestedAppId: string): Promise<void> { , requestedAppId?: string): Promise<void> {
this.requestedAppId = requestedAppId; this.requestedAppId = requestedAppId;
@@ -145,8 +145,7 @@ export default class PopupReceiverSelector extends ReceiverSelector {
this.messagePortDisconnected = true; this.messagePortDisconnected = true;
}); });
if (!this.requestedAppId if (!this.receivers
|| !this.receivers
|| !this.defaultMediaType || !this.defaultMediaType
|| !this.availableMediaTypes) { || !this.availableMediaTypes) {
throw logger.error("Popup receiver data not found."); throw logger.error("Popup receiver data not found.");

View File

@@ -45,7 +45,7 @@ export default abstract class ReceiverSelector
abstract open (receivers: Receiver[] abstract open (receivers: Receiver[]
, defaultMediaType: ReceiverSelectorMediaType , defaultMediaType: ReceiverSelectorMediaType
, availableMediaTypes: ReceiverSelectorMediaType , availableMediaTypes: ReceiverSelectorMediaType
, requestedAppId: string): void; , requestedAppId?: string): void;
abstract close (): void; abstract close (): void;
} }

View File

@@ -204,7 +204,7 @@ async function getSelection (
Array.from(StatusManager.getReceivers()) Array.from(StatusManager.getReceivers())
, defaultMediaType , defaultMediaType
, availableMediaTypes , availableMediaTypes
, currentShim?.requestedAppId ?? DEFAULT_MEDIA_RECEIVER_APP_ID); , currentShim?.requestedAppId);
}); });
} }

View File

@@ -18,7 +18,7 @@ export type Messages = [
{ {
subject: "popup:/sendRequestedAppId" subject: "popup:/sendRequestedAppId"
, data: { , data: {
requestedAppId: string; requestedAppId?: string;
} }
} }
, { , {

View File

@@ -78,10 +78,9 @@ class PopupApp extends Component<{}, PopupAppState> {
} }
case "popup:/populateReceiverList": { case "popup:/populateReceiverList": {
const { receivers, availableMediaTypes, defaultMediaType } const { receivers
: { receivers: Receiver[] , availableMediaTypes
, availableMediaTypes: ReceiverSelectorMediaType , defaultMediaType } = message.data;
, defaultMediaType: ReceiverSelectorMediaType } = message.data;
this.defaultMediaType = defaultMediaType; this.defaultMediaType = defaultMediaType;