From 4d7e7766729b2663f6d038d876ab2dc71ab70743 Mon Sep 17 00:00:00 2001 From: Pascal Hartig Date: Mon, 9 Sep 2019 07:03:00 -0700 Subject: [PATCH] Refactor BaseDevice constructor Summary: OS must always be defined. Reviewed By: jknoxville Differential Revision: D17204398 fbshipit-source-id: 0d84111c382af623843a41360bcb472394daf3f1 --- src/devices/AndroidDevice.tsx | 3 +-- src/devices/ArchivedDevice.tsx | 3 +-- src/devices/BaseDevice.tsx | 3 ++- src/devices/IOSDevice.tsx | 3 +-- src/devices/MacDevice.tsx | 3 +-- src/devices/WindowsDevice.tsx | 3 +-- src/reducers/__tests__/connections.node.tsx | 2 +- 7 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/devices/AndroidDevice.tsx b/src/devices/AndroidDevice.tsx index 303f87a26..0372194e6 100644 --- a/src/devices/AndroidDevice.tsx +++ b/src/devices/AndroidDevice.tsx @@ -21,9 +21,8 @@ export default class AndroidDevice extends BaseDevice { title: string, adb: ADBClient, ) { - super(serial, deviceType, title); + super(serial, deviceType, title, 'Android'); this.adb = adb; - this.os = 'Android'; this.icon = 'icons/android.svg'; this.adb.openLogcat(this.serial).then(reader => { reader.on('entry', entry => { diff --git a/src/devices/ArchivedDevice.tsx b/src/devices/ArchivedDevice.tsx index b8294707a..4da9a2efa 100644 --- a/src/devices/ArchivedDevice.tsx +++ b/src/devices/ArchivedDevice.tsx @@ -22,8 +22,7 @@ export default class ArchivedDevice extends BaseDevice { } else if (archivedDeviceType === 'physical') { archivedDeviceType = 'archivedPhysical'; } - super(serial, archivedDeviceType, title); - this.os = os; + super(serial, archivedDeviceType, title, os); this.logs = logEntries; } diff --git a/src/devices/BaseDevice.tsx b/src/devices/BaseDevice.tsx index 0dd728b2f..637bd2c64 100644 --- a/src/devices/BaseDevice.tsx +++ b/src/devices/BaseDevice.tsx @@ -51,10 +51,11 @@ export type DeviceExport = { export type OS = 'iOS' | 'Android' | 'Windows' | 'MacOS'; export default class BaseDevice { - constructor(serial: string, deviceType: DeviceType, title: string) { + constructor(serial: string, deviceType: DeviceType, title: string, os: OS) { this.serial = serial; this.title = title; this.deviceType = deviceType; + this.os = os; } // operating system of this device diff --git a/src/devices/IOSDevice.tsx b/src/devices/IOSDevice.tsx index 9389f8a8b..5aea7c142 100644 --- a/src/devices/IOSDevice.tsx +++ b/src/devices/IOSDevice.tsx @@ -41,9 +41,8 @@ export default class IOSDevice extends BaseDevice { buffer: string; constructor(serial: string, deviceType: DeviceType, title: string) { - super(serial, deviceType, title); + super(serial, deviceType, title, 'iOS'); this.icon = 'icons/ios.svg'; - this.os = 'iOS'; this.buffer = ''; this.log = this.startLogListener(); } diff --git a/src/devices/MacDevice.tsx b/src/devices/MacDevice.tsx index 5b7fc2adf..b9c27f593 100644 --- a/src/devices/MacDevice.tsx +++ b/src/devices/MacDevice.tsx @@ -9,8 +9,7 @@ import BaseDevice from './BaseDevice'; export default class MacDevice extends BaseDevice { constructor() { - super('', 'physical', 'Mac'); - this.os = 'MacOS'; + super('', 'physical', 'Mac', 'MacOS'); } teardown() {} diff --git a/src/devices/WindowsDevice.tsx b/src/devices/WindowsDevice.tsx index 065dcd937..c609d9a91 100644 --- a/src/devices/WindowsDevice.tsx +++ b/src/devices/WindowsDevice.tsx @@ -9,8 +9,7 @@ import BaseDevice from './BaseDevice'; export default class WindowsDevice extends BaseDevice { constructor() { - super('', 'physical', 'Windows'); - this.os = 'Windows'; + super('', 'physical', 'Windows', 'Windows'); } teardown() {} diff --git a/src/reducers/__tests__/connections.node.tsx b/src/reducers/__tests__/connections.node.tsx index cc6048c56..b5628b2aa 100644 --- a/src/reducers/__tests__/connections.node.tsx +++ b/src/reducers/__tests__/connections.node.tsx @@ -20,7 +20,7 @@ test('REGISTER_DEVICE doesnt remove error', () => { const endState = reducer(initialState, { type: 'REGISTER_DEVICE', - payload: new BaseDevice('serial', 'physical', 'title'), + payload: new BaseDevice('serial', 'physical', 'title', 'Android'), }); expect(endState.error).toEqual('something went wrong');