From d7592d580671d0c3e613e034cfa907ade98985e4 Mon Sep 17 00:00:00 2001 From: hensm Date: Tue, 15 Mar 2022 06:27:53 +0000 Subject: [PATCH] Remove remaining native receiver selector code --- app/src/bridge/components/receiverSelector.ts | 88 ------------------- app/src/bridge/index.ts | 15 ---- app/src/bridge/messaging.ts | 25 ++---- app/src/bridge/types.ts | 24 ----- ext/src/_locales/de/messages.json | 12 --- ext/src/_locales/en/messages.json | 12 --- ext/src/_locales/es/messages.json | 12 --- ext/src/_locales/nl/messages.json | 12 --- ext/src/_locales/no/messages.json | 12 --- ext/src/background/receiverSelector/index.ts | 5 -- ext/src/defaultOptions.ts | 1 - ext/src/lib/options.ts | 1 - ext/src/messaging.ts | 10 +-- 13 files changed, 7 insertions(+), 222 deletions(-) delete mode 100644 app/src/bridge/components/receiverSelector.ts diff --git a/app/src/bridge/components/receiverSelector.ts b/app/src/bridge/components/receiverSelector.ts deleted file mode 100644 index 8ed78b7..0000000 --- a/app/src/bridge/components/receiverSelector.ts +++ /dev/null @@ -1,88 +0,0 @@ -"use strict"; - -import child_process from "child_process"; -import path from "path"; - -import { sendMessage } from "../lib/nativeMessaging"; - -function fatal(message: string) { - console.error(message); - process.exit(1); -} - -let selectorApp: child_process.ChildProcess | undefined; -let selectorAppOpen = false; - -export function startReceiverSelector(data: string) { - if (process.platform !== "darwin") { - fatal("Invalid platform for native receiver selector."); - } - - if (!data) { - fatal("Missing native selector data"); - } else { - try { - JSON.parse(data); - } catch (err) { - fatal("Invalid native selector data."); - } - } - - if (selectorApp && selectorAppOpen) { - selectorApp.kill(); - selectorAppOpen = false; - } - - const selectorPath = path.join( - process.cwd(), - "fx_cast_selector.app/Contents/MacOS/fx_cast_selector" - ); - - selectorApp = child_process.spawn(selectorPath, [data]); - selectorAppOpen = true; - - if (selectorApp.stdout) { - selectorApp.stdout.setEncoding("utf-8"); - selectorApp.stdout.on("data", data => { - const jsonData = JSON.parse(data); - - if (!jsonData.mediaType) { - sendMessage({ - subject: "main:receiverSelector/stopped", - data: jsonData - }); - - return; - } - - sendMessage({ - subject: "main:receiverSelector/selected", - data: jsonData - }); - }); - } - - selectorApp.on("error", err => { - sendMessage({ - subject: "main:receiverSelector/error", - data: err.message - }); - }); - - selectorApp.on("close", () => { - if (selectorAppOpen) { - selectorAppOpen = false; - - sendMessage({ - subject: "main:receiverSelector/cancelled" - }); - } - }); -} - -export function stopReceiverSelector() { - if (!selectorApp?.killed) { - selectorApp?.kill(); - selectorAppOpen = false; - } -} diff --git a/app/src/bridge/index.ts b/app/src/bridge/index.ts index 82e5571..7d9f1ea 100755 --- a/app/src/bridge/index.ts +++ b/app/src/bridge/index.ts @@ -6,17 +6,12 @@ import { Message } from "./messaging"; import { handleCastMessage } from "./components/cast"; import { startDiscovery, stopDiscovery } from "./components/discovery"; import { startMediaServer, stopMediaServer } from "./components/mediaServer"; -import { - startReceiverSelector, - stopReceiverSelector -} from "./components/receiverSelector"; import { __applicationName, __applicationVersion } from "../../package.json"; process.on("SIGTERM", () => { stopDiscovery(); stopMediaServer(); - stopReceiverSelector(); }); /** @@ -39,16 +34,6 @@ decodeTransform.on("data", (message: Message) => { break; } - // Receiver selector - case "bridge:openReceiverSelector": { - startReceiverSelector(message.data); - break; - } - case "bridge:closeReceiverSelector": { - stopReceiverSelector(); - break; - } - // Media server case "bridge:startMediaServer": { const { filePath, port } = message.data; diff --git a/app/src/bridge/messaging.ts b/app/src/bridge/messaging.ts index 0bfc0c9..d7832f3 100644 --- a/app/src/bridge/messaging.ts +++ b/app/src/bridge/messaging.ts @@ -9,11 +9,7 @@ import { Volume } from "./components/cast/types"; -import { - ReceiverDevice, - ReceiverSelectionCast, - ReceiverSelectionStop -} from "./types"; +import { ReceiverDevice } from "./types"; interface CastSessionUpdated { sessionId: string; @@ -69,23 +65,17 @@ type MessageDefinitions = { }; "bridge:stopCastApp": { receiverDevice: ReceiverDevice }; - // Bridge messages - "main:receiverSelector/selected": ReceiverSelectionCast; - "main:receiverSelector/stopped": ReceiverSelectionStop; - "main:receiverSelector/cancelled": {}; - "main:receiverSelector/error": string; - /** * getInfo uses the old :/ form for compat with old bridge * versions. */ "bridge:getInfo": string; "bridge:/getInfo": string; + "bridge:startDiscovery": { shouldWatchStatus: boolean; }; - "bridge:openReceiverSelector": string; - "bridge:closeReceiverSelector": {}; + "bridge:startMediaServer": { filePath: string; port: number; @@ -98,13 +88,8 @@ type MessageDefinitions = { }; "mediaCast:mediaServerStopped": {}; "mediaCast:mediaServerError": {}; - "main:serviceUp": ReceiverDevice; - "main:serviceDown": { id: string }; - "main:updateReceiverStatus": { - id: string; - status: ReceiverStatus; - }; - "main:receiverDeviceUp": { deviceId: string, deviceInfo: ReceiverDevice }; + + "main:receiverDeviceUp": { deviceId: string; deviceInfo: ReceiverDevice }; "main:receiverDeviceDown": { deviceId: string }; "main:receiverDeviceStatusUpdated": { deviceId: string; diff --git a/app/src/bridge/types.ts b/app/src/bridge/types.ts index bf1a816..48e3520 100644 --- a/app/src/bridge/types.ts +++ b/app/src/bridge/types.ts @@ -2,30 +2,6 @@ import { ReceiverStatus } from "./components/cast/types"; -export enum ReceiverSelectorMediaType { - App = 1, - Tab = 2, - Screen = 4, - File = 8 -} - -export enum ReceiverSelectionActionType { - Cast = 1, - Stop = 2 -} - -export interface ReceiverSelectionCast { - actionType: ReceiverSelectionActionType.Cast; - receiver: ReceiverDevice; - mediaType: ReceiverSelectorMediaType; - filePath?: string; -} - -export interface ReceiverSelectionStop { - actionType: ReceiverSelectionActionType.Stop; - receiver: ReceiverDevice; -} - export interface ReceiverDevice { host: string; friendlyName: string; diff --git a/ext/src/_locales/de/messages.json b/ext/src/_locales/de/messages.json index 3ade1a5..9400f26 100644 --- a/ext/src/_locales/de/messages.json +++ b/ext/src/_locales/de/messages.json @@ -276,18 +276,6 @@ "message": "Auswahloberfläche für Empfängergeräte." , "description": "Options page receiver selector category description." } - , "optionsReceiverSelectorType": { - "message": "Art:" - , "description": "Receiver selector type option label." - } - , "optionsReceiverSelectorTypeBrowser": { - "message": "Browser" - , "description": "Receiver selector type browser radio option label." - } - , "optionsReceiverSelectorTypeNative": { - "message": "Nativ" - , "description": "Receiver selector type native radio option label." - } , "optionsReceiverSelectorWaitForConnection": { "message": "Auf Verbindung warten" , "description": "Receiver selector wait for connection option checkbox label." diff --git a/ext/src/_locales/en/messages.json b/ext/src/_locales/en/messages.json index c307669..9e739f5 100755 --- a/ext/src/_locales/en/messages.json +++ b/ext/src/_locales/en/messages.json @@ -281,18 +281,6 @@ "message": "Receiver device selection interface." , "description": "Options page receiver selector category description." } - , "optionsReceiverSelectorType": { - "message": "Type:" - , "description": "Receiver selector type option label." - } - , "optionsReceiverSelectorTypeBrowser": { - "message": "Browser" - , "description": "Receiver selector type browser radio option label." - } - , "optionsReceiverSelectorTypeNative": { - "message": "Native" - , "description": "Receiver selector type native radio option label." - } , "optionsReceiverSelectorWaitForConnection": { "message": "Wait for connection" , "description": "Receiver selector wait for connection option checkbox label." diff --git a/ext/src/_locales/es/messages.json b/ext/src/_locales/es/messages.json index afd6540..a7e7108 100644 --- a/ext/src/_locales/es/messages.json +++ b/ext/src/_locales/es/messages.json @@ -280,18 +280,6 @@ "message": "Interfaz de selección del dispositivo receptor." , "description": "Options page receiver selector category description." } - , "optionsReceiverSelectorType": { - "message": "Tipo:" - , "description": "Receiver selector type option label." - } - , "optionsReceiverSelectorTypeBrowser": { - "message": "Navegador" - , "description": "Receiver selector type browser radio option label." - } - , "optionsReceiverSelectorTypeNative": { - "message": "Nativo" - , "description": "Receiver selector type native radio option label." - } , "optionsReceiverSelectorWaitForConnection": { "message": "Esperar conexión" , "description": "Receiver selector wait for connection option checkbox label." diff --git a/ext/src/_locales/nl/messages.json b/ext/src/_locales/nl/messages.json index 0800045..b79d30a 100755 --- a/ext/src/_locales/nl/messages.json +++ b/ext/src/_locales/nl/messages.json @@ -257,18 +257,6 @@ "message": "Ontvangstapparaat selectie interface", "description": "Options page receiver selector category description." }, - "optionsReceiverSelectorType": { - "message": "Type:", - "description": "Receiver selector type option label." - }, - "optionsReceiverSelectorTypeBrowser": { - "message": "Browser", - "description": "Receiver selector type browser radio option label." - }, - "optionsReceiverSelectorTypeNative": { - "message": "Ingebouwd", - "description": "Receiver selector type native radio option label." - }, "optionsReceiverSelectorWaitForConnection": { "message": "Wachten op verbinding", "description": "Receiver selector wait for connection option checkbox label." diff --git a/ext/src/_locales/no/messages.json b/ext/src/_locales/no/messages.json index c5ff996..72e4321 100644 --- a/ext/src/_locales/no/messages.json +++ b/ext/src/_locales/no/messages.json @@ -280,18 +280,6 @@ "message": "Grensesnitt for valg av mottager" , "description": "Options page receiver selector category description." } - , "optionsReceiverSelectorType": { - "message": "Type:" - , "description": "Receiver selector type option label." - } - , "optionsReceiverSelectorTypeBrowser": { - "message": "Nettleser" - , "description": "Receiver selector type browser radio option label." - } - , "optionsReceiverSelectorTypeNative": { - "message": "Native" - , "description": "Receiver selector type native radio option label." - } , "optionsReceiverSelectorWaitForConnection": { "message": "Vent på tilkobling" , "description": "Receiver selector wait for connection option checkbox label." diff --git a/ext/src/background/receiverSelector/index.ts b/ext/src/background/receiverSelector/index.ts index 080fbe2..8103b4f 100644 --- a/ext/src/background/receiverSelector/index.ts +++ b/ext/src/background/receiverSelector/index.ts @@ -2,11 +2,6 @@ import { ReceiverDevice } from "../../types"; -export enum ReceiverSelectorType { - Popup, - Native -} - export enum ReceiverSelectorMediaType { None = 0, App = 1, diff --git a/ext/src/defaultOptions.ts b/ext/src/defaultOptions.ts index f0f37ad..a1c0a31 100644 --- a/ext/src/defaultOptions.ts +++ b/ext/src/defaultOptions.ts @@ -1,6 +1,5 @@ "use strict"; -import { ReceiverSelectorType } from "./background/receiverSelector"; import { Options } from "./lib/options"; export default { diff --git a/ext/src/lib/options.ts b/ext/src/lib/options.ts index 600ff21..6a57221 100644 --- a/ext/src/lib/options.ts +++ b/ext/src/lib/options.ts @@ -4,7 +4,6 @@ import defaultOptions from "../defaultOptions"; import logger from "./logger"; -import { ReceiverSelectorType } from "../background/receiverSelector"; import { TypedEventTarget } from "./TypedEventTarget"; import { TypedStorageArea } from "./TypedStorageArea"; diff --git a/ext/src/messaging.ts b/ext/src/messaging.ts index 5190c90..83d58d0 100644 --- a/ext/src/messaging.ts +++ b/ext/src/messaging.ts @@ -99,23 +99,17 @@ type AppMessageDefinitions = { }; "bridge:stopCastApp": { receiverDevice: ReceiverDevice }; - // Bridge messages - "main:receiverSelector/selected": ReceiverSelectionCast; - "main:receiverSelector/stopped": ReceiverSelectionStop; - "main:receiverSelector/cancelled": {}; - "main:receiverSelector/error": string; - /** * getInfo uses the old :/ form for compat with old bridge * versions. */ "bridge:getInfo": string; "bridge:/getInfo": string; + "bridge:startDiscovery": { shouldWatchStatus: boolean; }; - "bridge:openReceiverSelector": string; - "bridge:closeReceiverSelector": {}; + "bridge:startMediaServer": { filePath: string; port: number;