From c2124bd908c081daefc9cb36c8ee8d59ba6bf0e9 Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Mon, 9 Dec 2013 16:23:28 +0400 Subject: [PATCH] platform: fix (notification group creation postponed) --- .../src/com/intellij/ide/SystemHealthMonitor.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/SystemHealthMonitor.java b/platform/platform-impl/src/com/intellij/ide/SystemHealthMonitor.java index 74cce057e420..58b82460f5ba 100644 --- a/platform/platform-impl/src/com/intellij/ide/SystemHealthMonitor.java +++ b/platform/platform-impl/src/com/intellij/ide/SystemHealthMonitor.java @@ -28,9 +28,7 @@ import com.intellij.openapi.ui.MessageType; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.ui.popup.Balloon; import com.intellij.openapi.ui.popup.JBPopupFactory; -import com.intellij.openapi.util.Computable; -import com.intellij.openapi.util.Ref; -import com.intellij.openapi.util.SystemInfo; +import com.intellij.openapi.util.*; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.wm.WindowManager; import com.intellij.ui.HyperlinkAdapter; @@ -50,7 +48,13 @@ import java.util.concurrent.atomic.AtomicBoolean; public class SystemHealthMonitor extends ApplicationComponent.Adapter { private static final Logger LOG = Logger.getInstance("#com.intellij.ide.SystemHealthMonitor"); - private static final NotificationGroup LOG_GROUP = NotificationGroup.logOnlyGroup("System Health Log Messages"); + private static final NotNullLazyValue LOG_GROUP = new AtomicNotNullLazyValue() { + @NotNull + @Override + protected NotificationGroup compute() { + return NotificationGroup.logOnlyGroup("System Health Log Messages"); + } + }; @NotNull private final PropertiesComponent myProperties; @@ -105,7 +109,7 @@ public class SystemHealthMonitor extends ApplicationComponent.Adapter { .show(new RelativePoint(component, new Point(rect.x + 30, rect.y + rect.height - 10)), Balloon.Position.above); } - Notification notification = LOG_GROUP.createNotification(message, NotificationType.WARNING); + Notification notification = LOG_GROUP.getValue().createNotification(message, NotificationType.WARNING); notification.setImportant(true); Notifications.Bus.notify(notification); }