mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
FUS-412 diff: update usage trigger collector by new guidelines
GitOrigin-RevId: ee982b92921b88ef81c75a988a22b001f6c2fe44
This commit is contained in:
committed by
intellij-monorepo-bot
parent
5390a9352d
commit
5fae07860a
@@ -625,7 +625,7 @@ public abstract class DiffRequestProcessor implements Disposable {
|
||||
public void actionPerformed(@NotNull AnActionEvent e) {
|
||||
if (myState.getActiveTool() == myDiffTool) return;
|
||||
|
||||
DiffUsageTriggerCollector.trigger("toggle.diff.tool", myDiffTool);
|
||||
DiffUsageTriggerCollector.trigger("toggle.diff.tool", myDiffTool, myContext.getUserData(DiffUserDataKeys.PLACE));
|
||||
moveToolOnTop(myDiffTool);
|
||||
|
||||
updateRequest(true);
|
||||
|
||||
@@ -54,8 +54,9 @@ class TextDiffSettingsHolder : PersistentStateComponent<TextDiffSettingsHolder.S
|
||||
}
|
||||
|
||||
class TextDiffSettings internal constructor(private val SHARED_SETTINGS: SharedSettings,
|
||||
private val PLACE_SETTINGS: PlaceSettings) {
|
||||
constructor() : this(SharedSettings(), PlaceSettings())
|
||||
private val PLACE_SETTINGS: PlaceSettings,
|
||||
val place: String?) {
|
||||
constructor() : this(SharedSettings(), PlaceSettings(), null)
|
||||
|
||||
fun addListener(listener: Listener, disposable: Disposable) {
|
||||
PLACE_SETTINGS.eventDispatcher.addListener(listener, disposable)
|
||||
@@ -135,7 +136,7 @@ class TextDiffSettingsHolder : PersistentStateComponent<TextDiffSettingsHolder.S
|
||||
@JvmStatic fun getSettings(): TextDiffSettings = getSettings(null)
|
||||
@JvmStatic fun getSettings(place: String?): TextDiffSettings = service<TextDiffSettingsHolder>().getSettings(place)
|
||||
internal fun getDefaultSettings(place: String): TextDiffSettings =
|
||||
TextDiffSettings(SharedSettings(), service<TextDiffSettingsHolder>().defaultPlaceSettings(place))
|
||||
TextDiffSettings(SharedSettings(), service<TextDiffSettingsHolder>().defaultPlaceSettings(place), place)
|
||||
}
|
||||
|
||||
interface Listener : EventListener {
|
||||
@@ -147,7 +148,7 @@ class TextDiffSettingsHolder : PersistentStateComponent<TextDiffSettingsHolder.S
|
||||
fun getSettings(place: String?): TextDiffSettings {
|
||||
val placeKey = place ?: DiffPlaces.DEFAULT
|
||||
val placeSettings = myState.PLACES_MAP.getOrPut(placeKey) { defaultPlaceSettings(placeKey) }
|
||||
return TextDiffSettings(myState.SHARED_SETTINGS, placeSettings)
|
||||
return TextDiffSettings(myState.SHARED_SETTINGS, placeSettings, placeKey)
|
||||
}
|
||||
|
||||
private fun copyStateWithoutDefaults(): State {
|
||||
|
||||
@@ -259,7 +259,7 @@ public class TextDiffViewerUtil {
|
||||
@Override
|
||||
protected void setValue(@NotNull HighlightPolicy option) {
|
||||
if (getValue() == option) return;
|
||||
DiffUsageTriggerCollector.trigger("toggle.highlight.policy", option);
|
||||
DiffUsageTriggerCollector.trigger("toggle.highlight.policy", option, mySettings.getPlace());
|
||||
mySettings.setHighlightPolicy(option);
|
||||
}
|
||||
|
||||
@@ -300,7 +300,7 @@ public class TextDiffViewerUtil {
|
||||
@Override
|
||||
protected void setValue(@NotNull IgnorePolicy option) {
|
||||
if (getValue() == option) return;
|
||||
DiffUsageTriggerCollector.trigger("toggle.ignore.policy", option);
|
||||
DiffUsageTriggerCollector.trigger("toggle.ignore.policy", option, mySettings.getPlace());
|
||||
mySettings.setIgnorePolicy(option);
|
||||
}
|
||||
|
||||
|
||||
+17
-14
@@ -2,30 +2,33 @@
|
||||
package com.intellij.openapi.diff.impl;
|
||||
|
||||
import com.intellij.diff.DiffTool;
|
||||
import com.intellij.internal.statistic.eventLog.FeatureUsageData;
|
||||
import com.intellij.internal.statistic.service.fus.collectors.FUCounterUsageLogger;
|
||||
import com.intellij.internal.statistic.utils.PluginInfo;
|
||||
import com.intellij.internal.statistic.utils.PluginInfoDetectorKt;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class DiffUsageTriggerCollector {
|
||||
|
||||
private static void trigger(@NotNull String feature) {
|
||||
FUCounterUsageLogger.getInstance().logEvent("vcs.diff.trigger", feature);
|
||||
private static void trigger(@NotNull String eventId, @NotNull FeatureUsageData data) {
|
||||
FUCounterUsageLogger.getInstance().logEvent("vcs.diff.trigger", eventId, data);
|
||||
}
|
||||
|
||||
public static void trigger(@NotNull String feature, @NotNull Enum value) {
|
||||
trigger(feature + "." + value.name());
|
||||
public static void trigger(@NotNull String feature, @NotNull Enum value, @Nullable String place) {
|
||||
FeatureUsageData data = new FeatureUsageData()
|
||||
.addData("value", value.name())
|
||||
.addData("diff_place", StringUtil.notNullize(place, "unknown"));
|
||||
|
||||
trigger(feature, data);
|
||||
}
|
||||
|
||||
public static void trigger(@NotNull String feature, @NotNull DiffTool diffTool) {
|
||||
trigger(feature + "." + getDiffToolName(diffTool));
|
||||
}
|
||||
public static void trigger(@NotNull String feature, @NotNull DiffTool diffTool, @Nullable String place) {
|
||||
FeatureUsageData data = new FeatureUsageData()
|
||||
.addPluginInfo(PluginInfoDetectorKt.getPluginInfo(diffTool.getClass()))
|
||||
.addData("value", diffTool.getName())
|
||||
.addData("diff_place", StringUtil.notNullize(place, "unknown"));
|
||||
|
||||
@NotNull
|
||||
private static String getDiffToolName(@NotNull DiffTool diffTool) {
|
||||
PluginInfo pluginInfo = PluginInfoDetectorKt.getPluginInfo(diffTool.getClass());
|
||||
if (pluginInfo.isDevelopedByJetBrains()) return diffTool.getName();
|
||||
if (pluginInfo.isSafeToReport()) return "third.party." + pluginInfo.getId();
|
||||
return "third.party.other";
|
||||
trigger(feature, data);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user