private TelemetryPayload createPayload(TelemetryData data, boolean usesConnectedMode, boolean usesSonarCloud) { OffsetDateTime systemTime = OffsetDateTime.now(); long daysSinceInstallation = data.installTime().until(systemTime, ChronoUnit.DAYS); TelemetryAnalyzerPerformancePayload[] analyzers = TelemetryUtils.toPayload(data.analyzers()); return new TelemetryPayload(daysSinceInstallation, data.numUseDays(), product, version, usesConnectedMode, usesSonarCloud, systemTime, data.installTime(), analyzers); }
if (data.installDate() != null && (data.installTime() == null || data.installTime().toLocalDate().isAfter(data.installDate()))) { data.setInstallTime(data.installDate.atTime(OffsetTime.now())); if (data.installTime() == null || data.installTime().isAfter(OffsetDateTime.now())) { data.setInstallTime(OffsetDateTime.now()); if (lastUseDate.isBefore(data.installTime().toLocalDate())) { data.setLastUseDate(data.installTime().toLocalDate()); } else if (lastUseDate.isAfter(today)) { data.setLastUseDate(today); long maxUseDays = data.installTime().toLocalDate().until(data.lastUseDate(), DAYS) + 1; if (data.numUseDays() > maxUseDays) { data.setNumUseDays(maxUseDays);