mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
FUS: report ui collectors from listed or JB plugins
This commit is contained in:
+11
-4
@@ -9,6 +9,8 @@ import com.intellij.internal.statistic.collectors.fus.actions.IntentionUsagesCol
|
||||
import com.intellij.internal.statistic.eventLog.FeatureUsageLogger;
|
||||
import com.intellij.internal.statistic.persistence.UsageStatisticsPersistenceComponent;
|
||||
import com.intellij.internal.statistic.service.fus.collectors.FUSUsageContext;
|
||||
import com.intellij.internal.statistic.utils.PluginType;
|
||||
import com.intellij.internal.statistic.utils.StatisticsUtilKt;
|
||||
import com.intellij.lang.Language;
|
||||
import com.intellij.openapi.components.*;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
@@ -57,7 +59,7 @@ public class IntentionsCollector extends BaseUICollector implements PersistentSt
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private String getIntentionId(@NotNull IntentionAction action) {
|
||||
private static String getIntentionId(@NotNull IntentionAction action) {
|
||||
Object handler = action;
|
||||
if (action instanceof IntentionActionDelegate) {
|
||||
IntentionAction delegate = ((IntentionActionDelegate)action).getDelegate();
|
||||
@@ -71,15 +73,20 @@ public class IntentionsCollector extends BaseUICollector implements PersistentSt
|
||||
}
|
||||
}
|
||||
|
||||
String fqn = handler.getClass().getName();
|
||||
final Class<?> clazz = handler.getClass();
|
||||
final PluginType type = StatisticsUtilKt.getPluginType(clazz);
|
||||
if (!type.isSafeToReport()) {
|
||||
return type.name();
|
||||
}
|
||||
|
||||
String fqn = clazz.getName();
|
||||
for (String prefix : PREFIXES_TO_STRIP) {
|
||||
fqn = StringUtil.trimStart(fqn, prefix);
|
||||
}
|
||||
|
||||
if (isNotBundledPluginClass(handler.getClass())) {
|
||||
if (!type.isBundled()) {
|
||||
fqn = "[!]" + fqn;
|
||||
}
|
||||
|
||||
return fqn;
|
||||
}
|
||||
|
||||
|
||||
+4
-1
@@ -6,6 +6,8 @@ import com.intellij.internal.statistic.collectors.fus.actions.MainMenuUsagesColl
|
||||
import com.intellij.internal.statistic.eventLog.FeatureUsageLogger;
|
||||
import com.intellij.internal.statistic.persistence.UsageStatisticsPersistenceComponent;
|
||||
import com.intellij.internal.statistic.service.fus.collectors.FUSUsageContext;
|
||||
import com.intellij.internal.statistic.utils.PluginType;
|
||||
import com.intellij.internal.statistic.utils.StatisticsUtilKt;
|
||||
import com.intellij.openapi.actionSystem.ActionManager;
|
||||
import com.intellij.openapi.actionSystem.AnAction;
|
||||
import com.intellij.openapi.actionSystem.impl.ActionMenu;
|
||||
@@ -53,7 +55,8 @@ public class MainMenuCollector extends BaseUICollector implements PersistentStat
|
||||
|
||||
public void record(@NotNull AnAction action) {
|
||||
try {
|
||||
if (isNotBundledPluginClass(action.getClass())) {
|
||||
final PluginType type = StatisticsUtilKt.getPluginType(action.getClass());
|
||||
if (!type.isJBPlugin()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
+14
-1
@@ -2,10 +2,13 @@
|
||||
package com.intellij.internal.statistic.collectors.fus.ui.persistence;
|
||||
|
||||
import com.intellij.internal.statistic.beans.ConvertUsagesUtil;
|
||||
import com.intellij.internal.statistic.collectors.fus.actions.persistence.BaseUICollector;
|
||||
import com.intellij.internal.statistic.collectors.fus.ui.ToolbarClicksUsagesCollector;
|
||||
import com.intellij.internal.statistic.eventLog.FeatureUsageLogger;
|
||||
import com.intellij.internal.statistic.persistence.UsageStatisticsPersistenceComponent;
|
||||
import com.intellij.internal.statistic.service.fus.collectors.FUSUsageContext;
|
||||
import com.intellij.internal.statistic.utils.PluginType;
|
||||
import com.intellij.internal.statistic.utils.StatisticsUtilKt;
|
||||
import com.intellij.openapi.actionSystem.ActionManager;
|
||||
import com.intellij.openapi.actionSystem.ActionWithDelegate;
|
||||
import com.intellij.openapi.actionSystem.AnAction;
|
||||
@@ -47,6 +50,16 @@ public class ToolbarClicksCollector implements PersistentStateComponent<ToolbarC
|
||||
}
|
||||
|
||||
public static void record(@NotNull AnAction action, String place) {
|
||||
record(toRecordedId(action), place);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static String toRecordedId(@NotNull AnAction action) {
|
||||
final PluginType type = StatisticsUtilKt.getPluginType(action.getClass());
|
||||
if (!type.isJBPlugin()) {
|
||||
return type.name();
|
||||
}
|
||||
|
||||
String id = ActionManager.getInstance().getId(action);
|
||||
if (id == null) {
|
||||
if (action instanceof ActionWithDelegate) {
|
||||
@@ -55,7 +68,7 @@ public class ToolbarClicksCollector implements PersistentStateComponent<ToolbarC
|
||||
id = action.getClass().getName();
|
||||
}
|
||||
}
|
||||
record(id, place);
|
||||
return id;
|
||||
}
|
||||
|
||||
public static void record(String actionId, String place) {
|
||||
|
||||
Reference in New Issue
Block a user