selected device

Summary: The redux store keeps a list of devices. For the active device, it stored the index in that list. This diff now stores a reference to the active device instead of the index in that array. This changes makes it easier to get the reference to the active device in a component.

Reviewed By: jknoxville

Differential Revision: D8767514

fbshipit-source-id: c740cf98d6039223ce8d5a47bcd277989fe70bc3
This commit is contained in:
Daniel Büchele
2018-07-09 07:12:46 -07:00
committed by Facebook Github Bot
parent 540776f172
commit 7ed154c510
8 changed files with 74 additions and 93 deletions

View File

@@ -7,37 +7,32 @@
import {ipcRenderer} from 'electron';
import type BaseDevice from '../devices/BaseDevice.js';
import type {Store} from '../reducers/index.js';
import type Logger from '../fb-stubs/Logger.js';
export default (store: Store, logger: Logger) => {
ipcRenderer.on('trackUsage', () => {
const {
devices,
selectedDeviceIndex,
selectedDevice,
selectedPlugin,
selectedApp,
} = store.getState().connections;
const device: ?BaseDevice =
selectedDeviceIndex > -1 ? devices[selectedDeviceIndex] : null;
console.log(1, 2, 3);
if (!device || !selectedPlugin) {
if (!selectedDevice || !selectedPlugin) {
return;
}
if (selectedApp) {
logger.track('usage', 'ping', {
app: selectedApp,
device,
os: device.os,
device: selectedDevice,
os: selectedDevice.os,
plugin: selectedPlugin,
});
} else {
logger.track('usage', 'ping', {
os: device.os,
os: selectedDevice.os,
plugin: selectedPlugin,
device: device.title,
device: selectedDevice.title,
});
}
});