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

View File

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

View File

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

View File

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

View File

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

View File

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