From 50f31f9fe0461e0ddb3b9cbf35276180fc36e2ff Mon Sep 17 00:00:00 2001 From: Pritesh Nandgaonkar Date: Wed, 10 Mar 2021 06:32:18 -0800 Subject: [PATCH] Update the device plugins supported devices arguments Summary: Device plugins won't work for DummyDevice type as the device id is a fake one for this. This diff updates the "supportedDevices" for the plugins. Reviewed By: mweststrate Differential Revision: D26944601 fbshipit-source-id: a29acc288f8f0c564f52db02914e7b0491b211d2 --- .../src/devices/__tests__/BaseDevice.node.tsx | 28 +++++++++++++++++++ desktop/plugins/crash_reporter/package.json | 3 +- desktop/plugins/logs/package.json | 3 +- 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/desktop/app/src/devices/__tests__/BaseDevice.node.tsx b/desktop/app/src/devices/__tests__/BaseDevice.node.tsx index b96f87de6..fe3d95cf6 100644 --- a/desktop/app/src/devices/__tests__/BaseDevice.node.tsx +++ b/desktop/app/src/devices/__tests__/BaseDevice.node.tsx @@ -11,6 +11,7 @@ import BaseDevice from '../BaseDevice'; import * as DeviceTestPluginModule from '../../test-utils/DeviceTestPlugin'; import {TestUtils, _SandyPluginDefinition} from 'flipper-plugin'; import ArchivedDevice from '../ArchivedDevice'; +import DummyDevice from '../DummyDevice'; const physicalDevicePluginDetails = TestUtils.createMockPluginDetails({ id: 'physicalDevicePlugin', @@ -103,6 +104,23 @@ const androidEmulatorDevicePlugin = new _SandyPluginDefinition( androidEmulatorlDevicePluginDetails, DeviceTestPluginModule, ); + +const androidOnlyDevicePluginDetails = TestUtils.createMockPluginDetails({ + id: 'androidEmulatorDevicePlugin', + name: 'flipper-plugin-android-emulator-device', + version: '0.0.1', + pluginType: 'device', + supportedDevices: [ + { + os: 'Android', + }, + ], +}); +const androidOnlyDevicePlugin = new _SandyPluginDefinition( + androidOnlyDevicePluginDetails, + DeviceTestPluginModule, +); + test('ios physical device compatibility', () => { const device = new BaseDevice('serial', 'physical', 'test device', 'iOS'); expect(device.supportsPlugin(physicalDevicePlugin)).toBeTruthy(); @@ -150,3 +168,13 @@ test('android KaiOS device compatibility', () => { expect(device.supportsPlugin(androidKaiosPhysicalDevicePlugin)).toBeTruthy(); expect(device.supportsPlugin(androidEmulatorDevicePlugin)).toBeFalsy(); }); + +test('android dummy device compatibility', () => { + const device = new DummyDevice('serial', 'test device', 'Android'); + expect(device.supportsPlugin(physicalDevicePlugin)).toBeFalsy(); + expect(device.supportsPlugin(iosPhysicalDevicePlugin)).toBeFalsy(); + expect(device.supportsPlugin(iosEmulatorDevicePlugin)).toBeFalsy(); + expect(device.supportsPlugin(androidKaiosPhysicalDevicePlugin)).toBeFalsy(); + expect(device.supportsPlugin(androidEmulatorDevicePlugin)).toBeFalsy(); + expect(device.supportsPlugin(androidOnlyDevicePlugin)).toBeTruthy(); +}); diff --git a/desktop/plugins/crash_reporter/package.json b/desktop/plugins/crash_reporter/package.json index 83215ea97..032dc4622 100644 --- a/desktop/plugins/crash_reporter/package.json +++ b/desktop/plugins/crash_reporter/package.json @@ -4,7 +4,8 @@ "id": "CrashReporter", "pluginType": "device", "supportedDevices": [ - {"os": "Android"}, + {"os": "Android", "type": "emulator"}, + {"os": "Android", "type": "physical"}, {"os": "iOS", "type": "emulator"} ], "version": "0.0.0", diff --git a/desktop/plugins/logs/package.json b/desktop/plugins/logs/package.json index 5e2bf1c35..1a233f421 100644 --- a/desktop/plugins/logs/package.json +++ b/desktop/plugins/logs/package.json @@ -4,7 +4,8 @@ "id": "DeviceLogs", "pluginType": "device", "supportedDevices": [ - {"os": "Android"}, + {"os": "Android", "type": "emulator"}, + {"os": "Android", "type": "physical"}, {"os": "iOS", "type": "emulator"}, {"os": "Metro"} ],