(category: AnalyticsEvent, customData?: Partial<AnalyticsData>)
| 285 | } |
| 286 | |
| 287 | private event(category: AnalyticsEvent, customData?: Partial<AnalyticsData>): void { |
| 288 | if (this.disableAnalyticsForSession || this.isSuppressed) |
| 289 | return; |
| 290 | |
| 291 | const flutterUiGuides = this.workspaceContext?.hasAnyFlutterProjects |
| 292 | ? (config.previewFlutterUiGuides ? (config.previewFlutterUiGuidesCustomTracking ? "On + Custom Tracking" : "On") : "Off") |
| 293 | : undefined; |
| 294 | |
| 295 | const platformSuffix = isChromeOS |
| 296 | ? " (ChromeOS)" |
| 297 | : isWSL |
| 298 | ? " (WSL)" |
| 299 | : ""; |
| 300 | const data: AnalyticsData = { |
| 301 | analyzerProtocol: "LSP", |
| 302 | anonymize: true, |
| 303 | appName: env.appName, |
| 304 | closingLabels: config.closingLabels ? "On" : "Off", |
| 305 | dartVersion: this.sdkVersion, |
| 306 | event: AnalyticsEvent[category], |
| 307 | extensionKind: isDevExtension ? "Dev" : isPreReleaseExtension ? "Pre-Release" : "Stable", |
| 308 | flutterExtension: hasFlutterExtension ? "Installed" : "Not Installed", |
| 309 | flutterHotReloadOnSave: this.workspaceContext?.hasAnyFlutterProjects ? config.flutterHotReloadOnSave : undefined, |
| 310 | flutterUiGuides, |
| 311 | flutterVersion: this.flutterSdkVersion, |
| 312 | formatter: this.formatter, |
| 313 | hostKind, |
| 314 | language: env.language, |
| 315 | platform: `${process.platform}${platformSuffix}`, |
| 316 | onlyAnalyzeProjectsWithOpenFiles: config.onlyAnalyzeProjectsWithOpenFiles ? "On" : "Off", |
| 317 | showTodos: config.showTodos ? "On" : "Off", |
| 318 | workspaceType: this.workspaceContext?.workspaceTypeDescription, |
| 319 | ...customData, |
| 320 | }; |
| 321 | |
| 322 | this.telemetryLogger?.logUsage("event", data); |
| 323 | } |
| 324 | |
| 325 | private getFormatterSetting(): string { |
| 326 | try { |
no outgoing calls
no test coverage detected