From 32a6c00ff4cfdc3697d556c43968d58602f3cac3 Mon Sep 17 00:00:00 2001
From: Michael Plump <plumpy@google.com>
Date: Fri, 3 Mar 2023 06:23:10 -0800
Subject: [PATCH] Switch (deprecated) ProjectManagerListener#onProjectOpened to
 StartupActivity.

PiperOrigin-RevId: 513811140
---
 ...=> InitialConfigurationStartupActivity.java} | 17 +++++++++--------
 .../src/main/resources/META-INF/plugin.xml      |  7 +------
 2 files changed, 10 insertions(+), 14 deletions(-)
 rename idea_plugin/src/main/java/com/google/googlejavaformat/intellij/{InitialConfigurationProjectManagerListener.java => InitialConfigurationStartupActivity.java} (83%)

diff --git a/idea_plugin/src/main/java/com/google/googlejavaformat/intellij/InitialConfigurationProjectManagerListener.java b/idea_plugin/src/main/java/com/google/googlejavaformat/intellij/InitialConfigurationStartupActivity.java
similarity index 83%
rename from idea_plugin/src/main/java/com/google/googlejavaformat/intellij/InitialConfigurationProjectManagerListener.java
rename to idea_plugin/src/main/java/com/google/googlejavaformat/intellij/InitialConfigurationStartupActivity.java
index 1906347f7..7cedbbec7 100644
--- a/idea_plugin/src/main/java/com/google/googlejavaformat/intellij/InitialConfigurationProjectManagerListener.java
+++ b/idea_plugin/src/main/java/com/google/googlejavaformat/intellij/InitialConfigurationStartupActivity.java
@@ -21,17 +21,17 @@
 import com.intellij.notification.NotificationGroupManager;
 import com.intellij.notification.NotificationType;
 import com.intellij.openapi.project.Project;
-import com.intellij.openapi.project.ProjectManagerListener;
+import com.intellij.openapi.startup.StartupActivity;
 import org.jetbrains.annotations.NotNull;
 
-final class InitialConfigurationProjectManagerListener implements ProjectManagerListener {
+final class InitialConfigurationStartupActivity implements StartupActivity.Background {
 
   private static final String NOTIFICATION_TITLE = "Enable google-java-format";
   private static final NotificationGroup NOTIFICATION_GROUP =
       NotificationGroupManager.getInstance().getNotificationGroup(NOTIFICATION_TITLE);
 
   @Override
-  public void projectOpened(@NotNull Project project) {
+  public void runActivity(@NotNull Project project) {
     GoogleJavaFormatSettings settings = GoogleJavaFormatSettings.getInstance(project);
 
     if (settings.isUninitialized()) {
@@ -47,11 +47,12 @@ private void displayNewUserNotification(Project project, GoogleJavaFormatSetting
             NOTIFICATION_TITLE,
             "The google-java-format plugin is disabled by default. "
                 + "<a href=\"enable\">Enable for this project</a>.",
-            NotificationType.INFORMATION,
-            (n, e) -> {
-              settings.setEnabled(true);
-              n.expire();
-            });
+            NotificationType.INFORMATION);
+    notification.setListener(
+        (n, e) -> {
+          settings.setEnabled(true);
+          n.expire();
+        });
     notification.notify(project);
   }
 }
diff --git a/idea_plugin/src/main/resources/META-INF/plugin.xml b/idea_plugin/src/main/resources/META-INF/plugin.xml
index 2a82c9557..f272ab26d 100644
--- a/idea_plugin/src/main/resources/META-INF/plugin.xml
+++ b/idea_plugin/src/main/resources/META-INF/plugin.xml
@@ -65,15 +65,10 @@
     </dl>
   ]]></change-notes>
 
-  <applicationListeners>
-    <listener
-      class="com.google.googlejavaformat.intellij.InitialConfigurationProjectManagerListener"
-      topic="com.intellij.openapi.project.ProjectManagerListener"/>
-  </applicationListeners>
-
   <extensions defaultExtensionNs="com.intellij">
     <formattingService
       implementation="com.google.googlejavaformat.intellij.GoogleJavaFormatFormattingService"/>
+    <postStartupActivity implementation="com.google.googlejavaformat.intellij.InitialConfigurationStartupActivity"/>
     <projectConfigurable
       instance="com.google.googlejavaformat.intellij.GoogleJavaFormatConfigurable"
       id="google-java-format.settings"