Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 27 additions & 3 deletions src/io/flutter/actions/OpenInAppCodeAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import com.intellij.execution.ExecutionException;
import com.intellij.execution.configurations.GeneralCommandLine;
import com.intellij.execution.process.ColoredProcessHandler;
import com.intellij.execution.process.ProcessAdapter;
import com.intellij.execution.process.ProcessListener;
import com.intellij.execution.process.ProcessEvent;
import com.intellij.execution.process.ProcessOutputTypes;
import com.intellij.openapi.actionSystem.ActionUpdateThread;
Expand Down Expand Up @@ -46,13 +46,25 @@ private static void initialize() {
final GeneralCommandLine cmd = new GeneralCommandLine().withExePath("/bin/bash")
.withParameters("-c", "mdfind \"kMDItemContentType == 'com.apple.application-bundle'\" | grep AppCode.app");
final ColoredProcessHandler handler = new ColoredProcessHandler(cmd);
handler.addProcessListener(new ProcessAdapter() {
handler.addProcessListener(new ProcessListener() {
@Override
public void onTextAvailable(@NotNull ProcessEvent event, @NotNull Key outputType) {
if (outputType == ProcessOutputTypes.STDOUT) {
IS_APPCODE_INSTALLED = true;
}
}

@Override
public void processTerminated(@NotNull ProcessEvent event) {
}

@Override
public void startNotified(@NotNull ProcessEvent event) {
}

@Override
public void processWillTerminate(@NotNull ProcessEvent event, boolean willBeDestroyed) {
}
});
handler.startNotify();
}
Expand Down Expand Up @@ -110,13 +122,25 @@ private static void openInAppCode(@Nullable Project project, @NotNull String pat
try {
final GeneralCommandLine cmd = new GeneralCommandLine().withExePath("open").withParameters("-a", "AppCode.app", path);
final ColoredProcessHandler handler = new ColoredProcessHandler(cmd);
handler.addProcessListener(new ProcessAdapter() {
handler.addProcessListener(new ProcessListener() {
@Override
public void processTerminated(@NotNull final ProcessEvent event) {
if (event.getExitCode() != 0) {
FlutterMessages.showError("Error Opening", path, project);
}
}

@Override
public void startNotified(@NotNull ProcessEvent event) {
}

@Override
public void processWillTerminate(@NotNull ProcessEvent event, boolean willBeDestroyed) {
}

@Override
public void onTextAvailable(@NotNull ProcessEvent event, @NotNull com.intellij.openapi.util.Key outputType) {
}
});
handler.startNotify();
}
Expand Down
31 changes: 28 additions & 3 deletions src/io/flutter/actions/OpenInXcodeAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,12 @@
import com.intellij.execution.ExecutionException;
import com.intellij.execution.configurations.GeneralCommandLine;
import com.intellij.execution.process.ColoredProcessHandler;
import com.intellij.execution.process.ProcessAdapter;
import com.intellij.execution.process.ProcessListener;
import com.intellij.execution.process.ProcessEvent;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ProjectUtil;
import com.intellij.openapi.util.Key;
import com.intellij.openapi.util.SystemInfo;
import com.intellij.openapi.vfs.VirtualFile;
import io.flutter.FlutterMessages;
Expand Down Expand Up @@ -81,7 +82,7 @@ private static void openFile(@NotNull VirtualFile file) {
FlutterMessages.showError("Error Opening Xcode", "unable to run `flutter build`", project);
}
else {
processHandler.addProcessListener(new ProcessAdapter() {
processHandler.addProcessListener(new ProcessListener() {
@Override
public void processTerminated(@NotNull ProcessEvent event) {
progressHelper.done();
Expand All @@ -94,6 +95,18 @@ public void processTerminated(@NotNull ProcessEvent event) {

openWithXcode(project, file.getPath());
}

@Override
public void startNotified(@NotNull ProcessEvent event) {
}

@Override
public void processWillTerminate(@NotNull ProcessEvent event, boolean willBeDestroyed) {
}

@Override
public void onTextAvailable(@NotNull ProcessEvent event, @NotNull com.intellij.openapi.util.Key outputType) {
}
});
}
}
Expand All @@ -117,13 +130,25 @@ private static void openWithXcode(@Nullable Project project, @NotNull String pat
try {
final GeneralCommandLine cmd = new GeneralCommandLine().withExePath("open").withParameters(path);
final ColoredProcessHandler handler = new ColoredProcessHandler(cmd);
handler.addProcessListener(new ProcessAdapter() {
handler.addProcessListener(new ProcessListener() {
@Override
public void processTerminated(@NotNull final ProcessEvent event) {
if (event.getExitCode() != 0) {
FlutterMessages.showError("Error Opening", path, project);
}
}

@Override
public void startNotified(@NotNull ProcessEvent event) {
}

@Override
public void processWillTerminate(@NotNull ProcessEvent event, boolean willBeDestroyed) {
}

@Override
public void onTextAvailable(@NotNull ProcessEvent event, @NotNull com.intellij.openapi.util.Key outputType) {
}
});
handler.startNotify();
}
Expand Down
5 changes: 3 additions & 2 deletions src/io/flutter/console/FlutterConsole.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
import com.intellij.execution.filters.TextConsoleBuilder;
import com.intellij.execution.filters.TextConsoleBuilderFactory;
import com.intellij.execution.process.ColoredProcessHandler;
import com.intellij.execution.process.ProcessAdapter;

import com.intellij.execution.process.ProcessListener;
import com.intellij.execution.process.ProcessEvent;
import com.intellij.execution.ui.ConsoleView;
import com.intellij.execution.ui.ConsoleViewContentType;
Expand Down Expand Up @@ -81,7 +82,7 @@ void watchProcess(@NotNull ColoredProcessHandler process) {
view.attachToProcess(process);

// Print exit code.
final ProcessAdapter listener = new ProcessAdapter() {
final ProcessListener listener = new ProcessListener() {
@Override
public void processTerminated(final @NotNull ProcessEvent event) {
view.print(
Expand Down
18 changes: 16 additions & 2 deletions src/io/flutter/console/FlutterConsoleFilter.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@
import com.intellij.execution.filters.HyperlinkInfo;
import com.intellij.execution.filters.OpenFileHyperlinkInfo;
import com.intellij.execution.process.ColoredProcessHandler;
import com.intellij.execution.process.ProcessAdapter;
import com.intellij.execution.process.ProcessListener;
import com.intellij.execution.process.ProcessOutputTypes;
import com.intellij.execution.process.ProcessEvent;
import com.intellij.openapi.editor.markup.EffectType;
import com.intellij.openapi.editor.markup.TextAttributes;
import com.intellij.openapi.util.Key;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.Messages;
Expand Down Expand Up @@ -54,13 +56,25 @@ public void navigate(@NotNull Project project) {
try {
final GeneralCommandLine cmd = new GeneralCommandLine().withExePath("open").withParameters(myPath);
final ColoredProcessHandler handler = new ColoredProcessHandler(cmd);
handler.addProcessListener(new ProcessAdapter() {
handler.addProcessListener(new ProcessListener() {
@Override
public void startNotified(@NotNull ProcessEvent event) {
}

@Override
public void processTerminated(@NotNull final ProcessEvent event) {
if (event.getExitCode() != 0) {
FlutterMessages.showError("Error Opening ", myPath, project);
}
}

@Override
public void processWillTerminate(@NotNull ProcessEvent event, boolean willBeDestroyed) {
}

@Override
public void onTextAvailable(@NotNull ProcessEvent event, @NotNull Key outputType) {
}
});
handler.startNotify();
}
Expand Down
2 changes: 1 addition & 1 deletion src/io/flutter/run/bazelTest/BazelTestRunner.java
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ public Connector(ProcessHandler handler, Project project) {
Workspace workspace = WorkspaceCache.getInstance(project).get();
assert (workspace != null);
String configWarningPrefix = workspace.getConfigWarningPrefix();
listener = new ProcessAdapter() {
listener = new ProcessListener() {
@Override
public void onTextAvailable(@NotNull ProcessEvent event, @NotNull Key outputType) {
final String text = event.getText();
Expand Down
7 changes: 4 additions & 3 deletions src/io/flutter/run/coverage/FlutterCoverageProgramRunner.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@
import com.intellij.execution.configurations.RunProfileState;
import com.intellij.execution.configurations.RunnerSettings;
import com.intellij.execution.configurations.coverage.CoverageEnabledConfiguration;
import com.intellij.execution.process.ProcessAdapter;

import com.intellij.execution.process.ProcessListener;
import com.intellij.execution.process.ProcessEvent;
import com.intellij.execution.process.ProcessHandler;
import com.intellij.execution.runners.DefaultProgramRunnerKt;
Expand Down Expand Up @@ -42,7 +43,7 @@ public class FlutterCoverageProgramRunner extends GenericProgramRunner<RunnerSet

private static final String ID = "FlutterCoverageProgramRunner";
private ProcessHandler handler;
private ProcessAdapter listener;
private ProcessListener listener;

@Override
public @NotNull
Expand Down Expand Up @@ -71,7 +72,7 @@ protected RunContentDescriptor doExecute(final @NotNull RunProfileState state,
}
handler = result.getProcessHandler();
if (handler != null) {
listener = new ProcessAdapter() {
listener = new ProcessListener() {
@Override
public void processTerminated(@NotNull ProcessEvent event) {
OpenApiUtils.safeInvokeLater(() -> processCoverage(env));
Expand Down
5 changes: 3 additions & 2 deletions src/io/flutter/run/daemon/DaemonApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@
import com.google.gson.JsonObject;
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSyntaxException;
import com.intellij.execution.process.ProcessAdapter;

import com.intellij.execution.process.ProcessEvent;
import com.intellij.execution.process.ProcessHandler;
import com.intellij.execution.process.ProcessListener;
import com.intellij.execution.process.ProcessOutputTypes;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.util.Key;
Expand Down Expand Up @@ -120,7 +121,7 @@ CompletableFuture<Void> enableDeviceEvents() {
* Receive responses and events from a process until it shuts down.
*/
void listen(@NotNull ProcessHandler process, @NotNull DaemonEvent.Listener listener) {
process.addProcessListener(new ProcessAdapter() {
process.addProcessListener(new ProcessListener() {
@Override
public void onTextAvailable(@NotNull ProcessEvent event, @NotNull Key outputType) {
if (outputType.equals(ProcessOutputTypes.STDERR)) {
Expand Down
18 changes: 15 additions & 3 deletions src/io/flutter/run/daemon/DevToolsServerTask.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@
import com.google.gson.JsonSyntaxException;
import com.intellij.execution.ExecutionException;
import com.intellij.execution.configurations.GeneralCommandLine;
import com.intellij.execution.process.ProcessAdapter;

import com.intellij.execution.process.ProcessListener;
import com.intellij.execution.process.ProcessOutputTypes;
import com.intellij.execution.process.ProcessEvent;
import com.intellij.execution.process.ProcessHandler;
import com.intellij.notification.Notification;
Expand Down Expand Up @@ -139,7 +141,7 @@ private void setUpLocalServer(@NotNull String localDevToolsDir) throws java.util
private void setUpInDevMode(@NotNull GeneralCommandLine command) {
try {
this.process = new MostlySilentColoredProcessHandler(command);
this.process.addProcessListener(new ProcessAdapter() {
this.process.addProcessListener(new ProcessListener() {
@Override
public void onTextAvailable(@NotNull ProcessEvent event, @NotNull Key outputType) {
final String text = event.getText().trim();
Expand All @@ -159,7 +161,17 @@ public void onTextAvailable(@NotNull ProcessEvent event, @NotNull Key outputType
private void setUpWithDart(GeneralCommandLine command) {
try {
this.process = new MostlySilentColoredProcessHandler(command);
this.process.addProcessListener(new ProcessAdapter() {
this.process.addProcessListener(new ProcessListener() {
@Override
public void startNotified(@NotNull ProcessEvent event) {
}

@Override
public void processTerminated(@NotNull ProcessEvent event) {
DevToolsServerTask.this.process.removeProcessListener(this);
DevToolsServerTask.this.process = null;
}

@Override
public void onTextAvailable(@NotNull ProcessEvent event, @NotNull Key outputType) {
tryParseStartupText(event.getText().trim());
Expand Down
5 changes: 3 additions & 2 deletions src/io/flutter/run/daemon/FlutterApp.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@
import com.google.gson.JsonPrimitive;
import com.intellij.execution.ExecutionException;
import com.intellij.execution.configurations.GeneralCommandLine;
import com.intellij.execution.process.ProcessAdapter;

import com.intellij.execution.process.ProcessEvent;
import com.intellij.execution.process.ProcessHandler;
import com.intellij.execution.process.ProcessListener;
import com.intellij.execution.runners.ExecutionEnvironment;
import com.intellij.execution.ui.ConsoleView;
import com.intellij.execution.ui.ConsoleViewContentType;
Expand Down Expand Up @@ -257,7 +258,7 @@ public static FlutterApp start(@NotNull ExecutionEnvironment env,
final DaemonApi api = new DaemonApi(process);
final FlutterApp app = new FlutterApp(project, mode, device, process, env, api, command);

process.addProcessListener(new ProcessAdapter() {
process.addProcessListener(new ProcessListener() {
@Override
public void processTerminated(@NotNull ProcessEvent event) {
LOG.info(analyticsStop + " " + project.getName() + " (" + mode.mode() + ")");
Expand Down
10 changes: 9 additions & 1 deletion src/io/flutter/run/test/FlutterTestRunner.java
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,15 @@ private static final class Connector implements ObservatoryConnector {
private String observatoryUri;

public Connector(ProcessHandler handler) {
listener = new ProcessAdapter() {
listener = new ProcessListener() {
@Override
public void startNotified(@NotNull ProcessEvent event) {
}

@Override
public void processTerminated(@NotNull ProcessEvent event) {
}

@Override
public void onTextAvailable(@NotNull ProcessEvent event, @NotNull Key outputType) {
if (!outputType.equals(ProcessOutputTypes.STDOUT)) {
Expand Down
10 changes: 7 additions & 3 deletions src/io/flutter/sdk/FlutterCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,11 @@
import com.google.common.collect.ImmutableList;
import com.intellij.execution.ExecutionException;
import com.intellij.execution.configurations.GeneralCommandLine;
import com.intellij.execution.process.*;
import com.intellij.execution.process.CapturingProcessAdapter;
import com.intellij.execution.process.ColoredProcessHandler;
import com.intellij.execution.process.ProcessEvent;
import com.intellij.execution.process.ProcessListener;
import com.intellij.execution.process.ProcessOutput;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.project.Project;
Expand Down Expand Up @@ -187,7 +191,7 @@ public Process startInModuleConsole(@NotNull Module module, @Nullable Runnable o
if (processListener != null) {
handler.addProcessListener(processListener);
}
handler.addProcessListener(new ProcessAdapter() {
handler.addProcessListener(new ProcessListener() {
@Override
public void processTerminated(@NotNull ProcessEvent event) {
if (onDone != null) {
Expand Down Expand Up @@ -244,7 +248,7 @@ public FlutterCommandStartResult startProcess(@Nullable Project project) {
final GeneralCommandLine commandLine = createGeneralCommandLine(project);
LOG.info(safeCommandLog(commandLine));
handler = new MostlySilentColoredProcessHandler(commandLine);
handler.addProcessListener(new ProcessAdapter() {
handler.addProcessListener(new ProcessListener() {
@Override
public void processTerminated(@NotNull final ProcessEvent event) {
if (isPubRelatedCommand()) {
Expand Down