GT-2927 - review fixes

This commit is contained in:
dragonmacher 2019-06-14 18:12:05 -04:00
parent 12fffa922e
commit 484a4bce56

View file

@ -62,7 +62,7 @@ import resources.ResourceManager;
public class ByteViewerPlugin extends Plugin { public class ByteViewerPlugin extends Plugin {
private Program currentProgram; private Program currentProgram;
private boolean isRestoringState; private boolean areEventsDisabled;
private ProgramLocation currentLocation; private ProgramLocation currentLocation;
private ProgramByteViewerComponentProvider connectedProvider; private ProgramByteViewerComponentProvider connectedProvider;
@ -193,7 +193,7 @@ public class ByteViewerPlugin extends Plugin {
@Override @Override
public void readDataState(SaveState saveState) { public void readDataState(SaveState saveState) {
restore(() -> { doWithEventsDisabled(() -> {
ProgramManager programManagerService = tool.getService(ProgramManager.class); ProgramManager programManagerService = tool.getService(ProgramManager.class);
@ -313,25 +313,25 @@ public class ByteViewerPlugin extends Plugin {
@Override @Override
public void restoreTransientState(Object objectState) { public void restoreTransientState(Object objectState) {
restore(() -> { doWithEventsDisabled(() -> {
Object[] state = (Object[]) objectState; Object[] state = (Object[]) objectState;
connectedProvider.restoreLocation((SaveState) state[0]); connectedProvider.restoreLocation((SaveState) state[0]);
connectedProvider.setSelection((ProgramSelection) state[1]); connectedProvider.setSelection((ProgramSelection) state[1]);
}); });
} }
private void restore(Callback callback) { private void doWithEventsDisabled(Callback callback) {
isRestoringState = true; areEventsDisabled = true;
try { try {
callback.call(); callback.call();
} }
finally { finally {
isRestoringState = false; areEventsDisabled = false;
} }
} }
boolean isRestoringState() { private boolean eventsDisabled() {
return isRestoringState; return areEventsDisabled;
} }
void setStatusMessage(String msg) { void setStatusMessage(String msg) {
@ -380,7 +380,7 @@ public class ByteViewerPlugin extends Plugin {
public void updateLocation(ProgramByteViewerComponentProvider provider, public void updateLocation(ProgramByteViewerComponentProvider provider,
ProgramLocationPluginEvent event, boolean export) { ProgramLocationPluginEvent event, boolean export) {
if (isRestoringState()) { if (eventsDisabled()) {
return; return;
} }