Separate the concepts of archived and disconnected devices

Summary:
Minor code cleanup to avoid future confusion:

- archived: a device that was imported from a Flipper trace, and only has persisted state
- (dis)connected: a real stateful device that might or might not have an active connection

Reviewed By: nikoant

Differential Revision: D26275459

fbshipit-source-id: eba554b37c39711e367c3795ff4456329a303c22
This commit is contained in:
Michel Weststrate
2021-02-09 04:12:09 -08:00
committed by Facebook GitHub Bot
parent 1bb1cae167
commit 43c68c0e7c
19 changed files with 69 additions and 66 deletions

View File

@@ -50,10 +50,12 @@ test('Devices can disconnect', async () => {
).toBe(true);
expect(device.isArchived).toBe(false);
expect(device.connected.get()).toBe(true);
device.disconnect();
expect(device.isArchived).toBe(true);
expect(device.isArchived).toBe(false);
expect(device.connected.get()).toBe(false);
const instance = device.sandyPluginStates.get(deviceplugin.id)!;
expect(instance.instanceApi.isConnected).toBe(false);
expect(instance).toBeTruthy();
@@ -61,7 +63,8 @@ test('Devices can disconnect', async () => {
expect(instance.instanceApi.destroy).toBeCalledTimes(0);
device.destroy();
expect(device.isArchived).toBe(true);
expect(device.isArchived).toBe(false);
expect(device.connected.get()).toBe(false);
expect(instance.instanceApi.destroy).toBeCalledTimes(1);
expect(device.sandyPluginStates.get(deviceplugin.id)).toBeUndefined();
@@ -91,6 +94,7 @@ test('New device with same serial removes & cleans the old one', async () => {
const instance = device.sandyPluginStates.get(deviceplugin.id)!;
expect(device.isArchived).toBe(false);
expect(device.connected.get()).toBe(true);
expect(instance.instanceApi.destroy).toBeCalledTimes(0);
expect(store.getState().connections.devices).toEqual([device]);
@@ -107,7 +111,8 @@ test('New device with same serial removes & cleans the old one', async () => {
});
device2.loadDevicePlugins(store.getState().plugins.devicePlugins);
expect(device.isArchived).toBe(true);
expect(device.isArchived).toBe(false);
expect(device.connected.get()).toBe(false);
expect(instance.instanceApi.destroy).toBeCalledTimes(1);
expect(
device2.sandyPluginStates.get(deviceplugin.id)!.instanceApi.destroy,