Make sure Sandy Devices Plugins are loaded in Flipper devices
Summary: This diff makes sure that devices will actually instantiate applicable sandy device plugins. Similar to how client plugins are owned by Client, device plugins are directly owned by BaseDevice, which significantly simplifies life cycle management and doesn't dispatch updates to all Redux connect components whenever something irrelevant changes. Also made sure `device.teardown()` is called. That API already existed, but wasn't used or implemented before. Updated Flipper test utils to support testing device plugins as well (both Sandy and classic ones) Reviewed By: passy, nikoant Differential Revision: D22693929 fbshipit-source-id: 73b2b8666ef7a0e748ea89360db84734d37eb5be
This commit is contained in:
committed by
Facebook GitHub Bot
parent
1e956e1bf5
commit
489dd1521e
@@ -19,7 +19,6 @@ import {
|
||||
ContextMenu,
|
||||
clipboard,
|
||||
Button,
|
||||
FlipperPlugin,
|
||||
getPluginKey,
|
||||
getPersistedState,
|
||||
BaseDevice,
|
||||
@@ -239,10 +238,14 @@ export function parseCrashLogAndUpdateState(
|
||||
| typeof FlipperBasePlugin
|
||||
| undefined = store
|
||||
.getState()
|
||||
.plugins.devicePlugins.get(CrashReporterPlugin.id);
|
||||
.plugins.devicePlugins.get(CrashReporterPlugin.id) as any;
|
||||
if (!persistingPlugin) {
|
||||
return;
|
||||
}
|
||||
if (!persistingPlugin.persistedStateReducer) {
|
||||
console.error('CrashReporterPlugin is incompatible');
|
||||
return;
|
||||
}
|
||||
const pluginStates = store.getState().pluginStates;
|
||||
const persistedState = getPersistedState(
|
||||
pluginKey,
|
||||
|
||||
Reference in New Issue
Block a user