Restore metro functionality [4/n]
Summary: Restored Metro functionality; progress reports, metro logs, RN/Hermes debugging, reload / dev menu button Reviewed By: passy Differential Revision: D31055958 fbshipit-source-id: c243035c343c14718a9afe275c8f5f36a1aa3a94
This commit is contained in:
committed by
Facebook GitHub Bot
parent
3428ce2968
commit
4463e7ede2
@@ -8,24 +8,23 @@
|
||||
*/
|
||||
|
||||
import React, {useCallback, useEffect, useState} from 'react';
|
||||
import MetroDevice, {
|
||||
MetroReportableEvent,
|
||||
} from '../server/devices/metro/MetroDevice';
|
||||
import {MetroReportableEvent} from '../server/devices/metro/MetroDevice';
|
||||
import {useStore} from '../utils/useStore';
|
||||
import {Button as AntButton} from 'antd';
|
||||
import {MenuOutlined, ReloadOutlined} from '@ant-design/icons';
|
||||
import {theme} from 'flipper-plugin';
|
||||
import BaseDevice from '../devices/BaseDevice';
|
||||
|
||||
export default function MetroButton() {
|
||||
const device = useStore((state) =>
|
||||
state.connections.devices.find(
|
||||
(device) => device.os === 'Metro' && device.connected.get(),
|
||||
),
|
||||
) as MetroDevice | undefined;
|
||||
) as BaseDevice | undefined;
|
||||
|
||||
const sendCommand = useCallback(
|
||||
(command: string) => {
|
||||
device?.sendCommand(command);
|
||||
device?.sendMetroCommand(command);
|
||||
},
|
||||
[device],
|
||||
);
|
||||
@@ -50,9 +49,19 @@ export default function MetroButton() {
|
||||
setProgress(event.transformedFileCount / event.totalFileCount);
|
||||
}
|
||||
}
|
||||
device.metroEventEmitter.on('event', metroEventListener);
|
||||
|
||||
const handle = device.addLogListener((l) => {
|
||||
if (l.tag !== 'client_log') {
|
||||
try {
|
||||
metroEventListener(JSON.parse(l.message));
|
||||
} catch (e) {
|
||||
console.warn('Failed to parse metro message: ', l, e);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return () => {
|
||||
device.metroEventEmitter.off('event', metroEventListener);
|
||||
device.removeLogListener(handle);
|
||||
};
|
||||
}, [device]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user