[vcs-log] extract enum for events

FUS-397, FUS-411

GitOrigin-RevId: 6175d3e0e88f427db041996700fec1fcdc333364
This commit is contained in:
Julia Beliaeva
2019-07-02 06:52:16 +03:00
committed by intellij-monorepo-bot
parent e6e9f98e8a
commit e4657d68ab
6 changed files with 25 additions and 10 deletions
@@ -77,7 +77,7 @@ class VcsLogFileHistoryProviderImpl : VcsLogFileHistoryProvider {
}
private fun triggerFileHistoryUsage(paths: Collection<FilePath>, hash: Hash?) {
VcsLogUsageTriggerCollector.triggerUsage("history.shown") { data ->
VcsLogUsageTriggerCollector.triggerUsage(VcsLogUsageTriggerCollector.VcsLogEvent.HISTORY_SHOWN) { data ->
val kind = if (paths.size > 1) "multiple" else if (paths.first().isDirectory) "folder" else "file"
data.addData("kind", kind).addData("has.revision", hash != null)
}
@@ -159,7 +159,7 @@ public class VcsLogTabsWatcher implements Disposable {
window -> window instanceof VcsLogTab && ((VcsLogTab)window).myTabId.equals(tabId));
if (logWindow != null) {
LOG.debug("Selected log window \'" + logWindow + "\'");
VcsLogUsageTriggerCollector.triggerUsage("tab.navigated", null);
VcsLogUsageTriggerCollector.triggerUsage(VcsLogUsageTriggerCollector.VcsLogEvent.TAB_NAVIGATED, null);
myRefresher.refresherActivated(logWindow.getRefresher(), false);
}
}
@@ -8,6 +8,7 @@ import com.intellij.vcs.log.ui.VcsLogInternalDataKeys;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.Locale;
import java.util.function.Consumer;
public class VcsLogUsageTriggerCollector {
@@ -17,7 +18,7 @@ public class VcsLogUsageTriggerCollector {
}
public static void triggerUsage(@NotNull AnActionEvent e, @NotNull Object action, @Nullable Consumer<FeatureUsageData> configurator) {
triggerUsage("action.called", data -> {
triggerUsage(VcsLogEvent.ACTION_CALLED, data -> {
addContext(data, e.getData(VcsLogInternalDataKeys.FILE_HISTORY_UI) != null);
data.addInputEvent(e);
data.addData("class", action.getClass().getName());
@@ -25,20 +26,34 @@ public class VcsLogUsageTriggerCollector {
});
}
public static void triggerUsage(@NotNull String text, boolean isFromHistory, @Nullable Consumer<FeatureUsageData> configurator) {
triggerUsage(text, data -> {
public static void triggerUsage(@NotNull VcsLogEvent event, boolean isFromHistory, @Nullable Consumer<FeatureUsageData> configurator) {
triggerUsage(event, data -> {
addContext(data, isFromHistory);
if (configurator != null) configurator.accept(data);
});
}
public static void triggerUsage(@NotNull String text, @Nullable Consumer<FeatureUsageData> configurator) {
public static void triggerUsage(@NotNull VcsLogEvent event, @Nullable Consumer<FeatureUsageData> configurator) {
FeatureUsageData data = new FeatureUsageData();
if (configurator != null) configurator.accept(data);
FUCounterUsageLogger.getInstance().logEvent("vcs.log.trigger", text, data);
FUCounterUsageLogger.getInstance().logEvent("vcs.log.trigger", event.getId(), data);
}
private static void addContext(@NotNull FeatureUsageData data, boolean isFromHistory) {
data.addData("context", isFromHistory ? "history" : "log");
}
public enum VcsLogEvent {
ACTION_CALLED,
FILTER_SET,
TABLE_CLICKED,
COLUMN_RESET,
HISTORY_SHOWN,
TAB_NAVIGATED;
@NotNull
String getId() {
return name().toLowerCase(Locale.ENGLISH).replace('_', '.');
}
}
}
@@ -64,7 +64,7 @@ abstract class FilterModel<Filter> {
}
protected static void triggerFilterSet(@NotNull String name) {
VcsLogUsageTriggerCollector.triggerUsage("filter.set", false,
VcsLogUsageTriggerCollector.triggerUsage(VcsLogUsageTriggerCollector.VcsLogEvent.FILTER_SET, false,
data -> data.addData("filter_name", name));
}
@@ -226,7 +226,7 @@ public class GraphTableController {
}
private static void triggerClick(@NotNull String target) {
VcsLogUsageTriggerCollector.triggerUsage("table.clicked",
VcsLogUsageTriggerCollector.triggerUsage(VcsLogUsageTriggerCollector.VcsLogEvent.TABLE_CLICKED,
data -> data.addData("target", target));
}
@@ -278,7 +278,7 @@ public class VcsLogGraphTable extends TableWithProgress implements DataProvider,
}
public void resetColumnWidth(int column) {
VcsLogUsageTriggerCollector.triggerUsage("column.reset", null);
VcsLogUsageTriggerCollector.triggerUsage(VcsLogUsageTriggerCollector.VcsLogEvent.COLUMN_RESET, null);
if (CommonUiProperties.getColumnWidth(myProperties, column) != -1) {
CommonUiProperties.saveColumnWidth(myProperties, column, -1);
}