diff --git a/community-resources/intellij.idea.community.resources.iml b/community-resources/intellij.idea.community.resources.iml
index 3fa08d3b60d5..0f6066b2cdf3 100644
--- a/community-resources/intellij.idea.community.resources.iml
+++ b/community-resources/intellij.idea.community.resources.iml
@@ -9,5 +9,15 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/java/ide-customization/resources/META-INF/IdeTipsAndTricks.xml b/java/ide-customization/resources/META-INF/IdeTipsAndTricks.xml
deleted file mode 100644
index 1794a05457bf..000000000000
--- a/java/ide-customization/resources/META-INF/IdeTipsAndTricks.xml
+++ /dev/null
@@ -1,179 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityLibraryLicenses.groovy b/platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityLibraryLicenses.groovy
index c4d30dcfd926..747cbe042951 100644
--- a/platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityLibraryLicenses.groovy
+++ b/platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityLibraryLicenses.groovy
@@ -610,5 +610,6 @@ class CommunityLibraryLicenses {
jetbrainsLibrary("rd-swing"),
jetbrainsLibrary("rd-text"),
jetbrainsLibrary("tcServiceMessages"),
+ jetbrainsLibrary("tips-idea-ce"),
] as List
}
diff --git a/platform/platform-impl/src/com/intellij/featureStatistics/actions/ShowFeatureUsageStatisticsDialog.java b/platform/platform-impl/src/com/intellij/featureStatistics/actions/ShowFeatureUsageStatisticsDialog.java
index bf190b58f80e..70a9c905f319 100644
--- a/platform/platform-impl/src/com/intellij/featureStatistics/actions/ShowFeatureUsageStatisticsDialog.java
+++ b/platform/platform-impl/src/com/intellij/featureStatistics/actions/ShowFeatureUsageStatisticsDialog.java
@@ -180,8 +180,7 @@ public class ShowFeatureUsageStatisticsDialog extends DialogWrapper {
browser.setText("");
}
else {
- FeatureDescriptor feature = (FeatureDescriptor)selection.iterator().next();
- TipUIUtil.openTipInBrowser(TipUIUtil.getTip(feature.getTipFileName()), browser);
+ TipUIUtil.openTipInBrowser(TipUIUtil.getTip((FeatureDescriptor)selection.iterator().next()), browser);
}
}
});
diff --git a/platform/platform-impl/src/com/intellij/ide/util/TipUIUtil.java b/platform/platform-impl/src/com/intellij/ide/util/TipUIUtil.java
index 59d32adce223..c9300cb0d877 100644
--- a/platform/platform-impl/src/com/intellij/ide/util/TipUIUtil.java
+++ b/platform/platform-impl/src/com/intellij/ide/util/TipUIUtil.java
@@ -2,6 +2,7 @@
package com.intellij.ide.util;
import com.intellij.CommonBundle;
+import com.intellij.featureStatistics.FeatureDescriptor;
import com.intellij.ide.BrowserUtil;
import com.intellij.ide.IdeBundle;
import com.intellij.ide.plugins.PluginManagerCore;
@@ -84,8 +85,16 @@ public class TipUIUtil {
}
@Nullable
- public static TipAndTrickBean getTip(String tipFileName) {
- TipAndTrickBean tip = TipAndTrickBean.findByFileName(tipFileName);
+ public static TipAndTrickBean getTip(@Nullable FeatureDescriptor feature) {
+ if (feature == null) {
+ return null;
+ }
+
+ String tipFileName = feature.getTipFileName();
+ TipAndTrickBean tip = TipAndTrickBean.findByFileName("neue-" + tipFileName);
+ if (tip == null && StringUtil.isNotEmpty(tipFileName)) {
+ tip = TipAndTrickBean.findByFileName(tipFileName);
+ }
if (tip == null && StringUtil.isNotEmpty(tipFileName)) {
tip = new TipAndTrickBean();
tip.fileName = tipFileName;
diff --git a/platform/platform-tests/testSrc/com/intellij/featureStatistics/ProductivityFeaturesTest.java b/platform/platform-tests/testSrc/com/intellij/featureStatistics/ProductivityFeaturesTest.java
index 7422c6957f6e..8565cb035b13 100644
--- a/platform/platform-tests/testSrc/com/intellij/featureStatistics/ProductivityFeaturesTest.java
+++ b/platform/platform-tests/testSrc/com/intellij/featureStatistics/ProductivityFeaturesTest.java
@@ -80,7 +80,7 @@ public class ProductivityFeaturesTest extends LightPlatformTestCase {
try {
Registry.get("ide.javafx.tips").setValue(false);//Don't test JavaFX case as is it triggers 'Thread leaked' failure
TipUIUtil.Browser browser = TipUIUtil.createBrowser();
- TipUIUtil.openTipInBrowser(TipUIUtil.getTip(featureDescriptor.getTipFileName()), browser);
+ TipUIUtil.openTipInBrowser(TipUIUtil.getTip(featureDescriptor), browser);
//if (Registry.is("ide.javafx.tips")) {
// assertEquals("Test Tip", browser.getText());
//}
diff --git a/platform/testFramework/src/com/intellij/testFramework/IdeResourcesTestCase.java b/platform/testFramework/src/com/intellij/testFramework/IdeResourcesTestCase.java
index 6061060b3791..a42823a9c488 100644
--- a/platform/testFramework/src/com/intellij/testFramework/IdeResourcesTestCase.java
+++ b/platform/testFramework/src/com/intellij/testFramework/IdeResourcesTestCase.java
@@ -4,6 +4,7 @@ package com.intellij.testFramework;
import com.intellij.featureStatistics.FeatureDescriptor;
import com.intellij.featureStatistics.ProductivityFeaturesRegistry;
import com.intellij.ide.util.TipAndTrickBean;
+import com.intellij.ide.util.TipUIUtil;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.util.ResourceUtil;
@@ -25,7 +26,7 @@ public abstract class IdeResourcesTestCase extends LightPlatformTestCase {
Collection errors = new TreeSet<>();
for (String id : ids) {
FeatureDescriptor descriptor = registry.getFeatureDescriptor(id);
- TipAndTrickBean tip = TipAndTrickBean.findByFileName(descriptor.getTipFileName());
+ TipAndTrickBean tip = TipUIUtil.getTip(descriptor);
if (tip == null) {
errors.add("");
}