diff --git a/src/io/flutter/actions/OpenAndroidModule.java b/src/io/flutter/actions/OpenAndroidModule.java index b517b916d..17c4897e6 100644 --- a/src/io/flutter/actions/OpenAndroidModule.java +++ b/src/io/flutter/actions/OpenAndroidModule.java @@ -16,6 +16,8 @@ import com.intellij.openapi.project.ProjectUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.BitUtil; +import com.jetbrains.lang.dart.analytics.Analytics; +import com.jetbrains.lang.dart.analytics.AnalyticsData; import io.flutter.FlutterMessages; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -33,6 +35,9 @@ * rather than spawning a new process (as IntelliJ does). */ public class OpenAndroidModule extends OpenInAndroidStudioAction implements DumbAware { + + public static final String ID = "fluter.open.android.module"; + @Override public void actionPerformed(@NotNull AnActionEvent e) { final VirtualFile projectFile = findProjectFile(e); @@ -51,6 +56,8 @@ public void actionPerformed(@NotNull AnActionEvent e) { //ProjectUtil.openOrImport(projectFile.getPath(), e.getProject(), forceOpenInNewFrame); // presents the user with a really imposing Gradle project import dialog. openOrImportProject(projectFile, e.getProject(), sourceFile, forceOpenInNewFrame); + + Analytics.report(AnalyticsData.forAction(ID, e.getPlace(), e.getProject())); } private static void openOrImportProject(@NotNull VirtualFile projectFile, diff --git a/src/io/flutter/actions/OpenEmulatorAction.java b/src/io/flutter/actions/OpenEmulatorAction.java index afd21b354..fdcdbcdb4 100644 --- a/src/io/flutter/actions/OpenEmulatorAction.java +++ b/src/io/flutter/actions/OpenEmulatorAction.java @@ -9,6 +9,8 @@ import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.project.Project; +import com.jetbrains.lang.dart.analytics.Analytics; +import com.jetbrains.lang.dart.analytics.AnalyticsData; import icons.FlutterIcons; import io.flutter.android.AndroidEmulator; import io.flutter.sdk.AndroidEmulatorManager; @@ -21,6 +23,9 @@ import static java.util.stream.Collectors.toList; public class OpenEmulatorAction extends AnAction { + + public static final String ID = "fluter.open.emulator"; + /** * Retrieve a list of {@link OpenEmulatorAction}s. *

@@ -48,6 +53,7 @@ public OpenEmulatorAction(@NotNull AndroidEmulator emulator) { @Override public void actionPerformed(@NotNull AnActionEvent event) { emulator.startEmulator(); + Analytics.report(AnalyticsData.forAction(ID, event.getPlace(), event.getProject())); } @Override diff --git a/src/io/flutter/actions/OpenInAndroidStudioAction.java b/src/io/flutter/actions/OpenInAndroidStudioAction.java index f3c7446a4..56f2f7982 100644 --- a/src/io/flutter/actions/OpenInAndroidStudioAction.java +++ b/src/io/flutter/actions/OpenInAndroidStudioAction.java @@ -10,7 +10,11 @@ import com.intellij.execution.process.ColoredProcessHandler; import com.intellij.execution.process.ProcessAdapter; import com.intellij.execution.process.ProcessEvent; -import com.intellij.openapi.actionSystem.*; +import com.intellij.openapi.actionSystem.ActionUpdateThread; +import com.intellij.openapi.actionSystem.AnAction; +import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.actionSystem.CommonDataKeys; +import com.intellij.openapi.actionSystem.Presentation; import com.intellij.openapi.editor.CaretModel; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.fileEditor.FileEditor; @@ -21,6 +25,8 @@ import com.intellij.openapi.ui.Messages; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.vfs.VirtualFile; +import com.jetbrains.lang.dart.analytics.Analytics; +import com.jetbrains.lang.dart.analytics.AnalyticsData; import io.flutter.FlutterBundle; import io.flutter.FlutterMessages; import io.flutter.FlutterUtils; @@ -40,6 +46,9 @@ * See https://github.com/flutter/flutter-intellij/issues/7103 */ public class OpenInAndroidStudioAction extends AnAction { + + public static final String ID = "fluter.open.android.studio"; + private static final String LABEL_FILE = FlutterBundle.message("flutter.androidstudio.open.file.text"); private static final String DESCR_FILE = FlutterBundle.message("flutter.androidstudio.open.file.description"); private static final String LABEL_MODULE = FlutterBundle.message("flutter.androidstudio.open.module.text"); @@ -59,6 +68,8 @@ public void update(@NotNull AnActionEvent event) { public void actionPerformed(@NotNull final AnActionEvent event) { @Nullable final Project project = event.getProject(); + Analytics.report(AnalyticsData.forAction(ID, event.getPlace(), event.getProject())); + if (FlutterUtils.isAndroidStudio()) { try { //noinspection unchecked diff --git a/src/io/flutter/actions/OpenInAppCodeAction.java b/src/io/flutter/actions/OpenInAppCodeAction.java index b32e34426..b33f92c92 100644 --- a/src/io/flutter/actions/OpenInAppCodeAction.java +++ b/src/io/flutter/actions/OpenInAppCodeAction.java @@ -20,6 +20,8 @@ import com.intellij.openapi.util.Key; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.vfs.VirtualFile; +import com.jetbrains.lang.dart.analytics.Analytics; +import com.jetbrains.lang.dart.analytics.AnalyticsData; import io.flutter.FlutterMessages; import io.flutter.sdk.FlutterSdk; import io.flutter.utils.OpenApiUtils; @@ -91,6 +93,8 @@ public void actionPerformed(@NotNull AnActionEvent event) { @Nullable final Project project = event.getProject(); FlutterMessages.showError("Error Opening AppCode", "Project not found.", project); } + + Analytics.report(AnalyticsData.forAction(this, event)); } private static void openFile(@NotNull VirtualFile file) { diff --git a/src/io/flutter/actions/OpenInXcodeAction.java b/src/io/flutter/actions/OpenInXcodeAction.java index ca96e2e66..49de737b9 100644 --- a/src/io/flutter/actions/OpenInXcodeAction.java +++ b/src/io/flutter/actions/OpenInXcodeAction.java @@ -10,11 +10,17 @@ import com.intellij.execution.process.ColoredProcessHandler; import com.intellij.execution.process.ProcessAdapter; import com.intellij.execution.process.ProcessEvent; -import com.intellij.openapi.actionSystem.*; +import com.intellij.openapi.actionSystem.ActionUpdateThread; +import com.intellij.openapi.actionSystem.AnAction; +import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.actionSystem.CommonDataKeys; +import com.intellij.openapi.actionSystem.Presentation; import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ProjectUtil; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.vfs.VirtualFile; +import com.jetbrains.lang.dart.analytics.Analytics; +import com.jetbrains.lang.dart.analytics.AnalyticsData; import io.flutter.FlutterMessages; import io.flutter.FlutterUtils; import io.flutter.pub.PubRoot; @@ -164,5 +170,7 @@ public void actionPerformed(@NotNull AnActionEvent event) { FlutterMessages.showError("Error Opening Xcode", "Project not found.", project); } + + Analytics.report(AnalyticsData.forAction(this, event)); } }