Remove remaining native receiver selector code

This commit is contained in:
hensm
2022-03-15 06:27:53 +00:00
parent cef8f3a261
commit d7592d5806
13 changed files with 7 additions and 222 deletions

View File

@@ -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;
}
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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."

View File

@@ -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."

View File

@@ -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."

View File

@@ -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."

View File

@@ -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."

View File

@@ -2,11 +2,6 @@
import { ReceiverDevice } from "../../types";
export enum ReceiverSelectorType {
Popup,
Native
}
export enum ReceiverSelectorMediaType {
None = 0,
App = 1,

View File

@@ -1,6 +1,5 @@
"use strict";
import { ReceiverSelectorType } from "./background/receiverSelector";
import { Options } from "./lib/options";
export default {

View File

@@ -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";

View File

@@ -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;