mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 06:50:54 +07:00
IJPL-173829 rdct: report host IDE info from the client's UpdateChecker
(cherry picked from commit a3187064115f7551d435a581682e21f4c5bccc7e) GitOrigin-RevId: 3bdaec164b92a92b0e680d13307c526609d09ed0
This commit is contained in:
committed by
intellij-monorepo-bot
parent
b3bbc880e5
commit
98ef6fded6
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.updateSettings.impl;
|
||||
|
||||
import com.intellij.ide.util.PropertiesComponent;
|
||||
@@ -19,11 +19,16 @@ import java.util.LinkedHashMap;
|
||||
import static com.intellij.openapi.util.NullableLazyValue.lazyNullable;
|
||||
|
||||
@ApiStatus.Internal
|
||||
public final class UpdateRequestParameters {
|
||||
public class DefaultUpdateRequestParametersProvider implements UpdateRequestParametersProvider {
|
||||
private static final NullableLazyValue<String> ourMachineId =
|
||||
lazyNullable(() -> MachineIdManager.INSTANCE.getAnonymizedMachineId("JetBrainsUpdates"));
|
||||
|
||||
public static @NotNull Url amendUpdateRequest(@NotNull Url url) {
|
||||
@Override
|
||||
public @NotNull Url amendUpdateRequest(@NotNull Url url) {
|
||||
return passDefaultParameters(url);
|
||||
}
|
||||
|
||||
public static @NotNull Url passDefaultParameters(@NotNull Url url) {
|
||||
if (URLUtil.FILE_PROTOCOL.equals(url.getScheme())) {
|
||||
return url;
|
||||
}
|
||||
@@ -25,6 +25,7 @@ import com.intellij.openapi.util.text.HtmlChunk;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.platform.ide.customization.ExternalProductResourceUrls;
|
||||
import com.intellij.ui.ExperimentalUI;
|
||||
import com.intellij.util.SystemProperties;
|
||||
import com.intellij.util.Url;
|
||||
import com.intellij.util.concurrency.AppExecutorUtil;
|
||||
import com.intellij.util.text.DateFormatUtil;
|
||||
@@ -87,7 +88,8 @@ class UpdateCheckerService {
|
||||
private void appStarted() {
|
||||
UpdateSettings settings = UpdateSettings.getInstance();
|
||||
updateDefaultChannel(settings);
|
||||
if (settings.isCheckNeeded() || settings.isPluginsCheckNeeded()) {
|
||||
if (settings.isCheckNeeded() || settings.isPluginsCheckNeeded() ||
|
||||
SystemProperties.getBooleanProperty("ide.force.platform.update.check", false)) {
|
||||
scheduleFirstCheck(settings);
|
||||
}
|
||||
}
|
||||
@@ -130,7 +132,8 @@ class UpdateCheckerService {
|
||||
BuildNumber lastBuildChecked = BuildNumber.fromString(settings.getLastBuildChecked());
|
||||
long timeSinceLastCheck = max(System.currentTimeMillis() - settings.getLastTimeChecked(), 0);
|
||||
|
||||
if (lastBuildChecked == null || currentBuild.compareTo(lastBuildChecked) > 0 || timeSinceLastCheck >= CHECK_INTERVAL_MS) {
|
||||
if (lastBuildChecked == null || currentBuild.compareTo(lastBuildChecked) > 0 || timeSinceLastCheck >= CHECK_INTERVAL_MS ||
|
||||
SystemProperties.getBooleanProperty("ide.force.platform.update.check", false)) {
|
||||
checkUpdates();
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.updateSettings.impl;
|
||||
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.util.Url;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@ApiStatus.Internal
|
||||
public interface UpdateRequestParametersProvider {
|
||||
@NotNull Url amendUpdateRequest(@NotNull Url url);
|
||||
|
||||
static @NotNull Url passUpdateParameters(@NotNull Url url) {
|
||||
UpdateRequestParametersProvider provider = ApplicationManager.getApplication().getService(UpdateRequestParametersProvider.class);
|
||||
return provider.amendUpdateRequest(url);
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@ package com.intellij.platform.ide.impl.customization
|
||||
|
||||
import com.intellij.openapi.application.ApplicationInfo
|
||||
import com.intellij.openapi.updateSettings.impl.PatchInfo
|
||||
import com.intellij.openapi.updateSettings.impl.UpdateRequestParameters
|
||||
import com.intellij.openapi.updateSettings.impl.UpdateRequestParametersProvider
|
||||
import com.intellij.openapi.util.BuildNumber
|
||||
import com.intellij.openapi.util.SystemInfo
|
||||
import com.intellij.platform.ide.customization.ExternalProductResourceUrls
|
||||
@@ -66,7 +66,7 @@ abstract class BaseJetBrainsExternalProductResourceUrls : ExternalProductResourc
|
||||
override val updateMetadataUrl: Url
|
||||
get() = System.getProperty("idea.updates.url", "https://www.jetbrains.com/updates/updates.xml")
|
||||
.let { Urls.newFromEncoded(it) }
|
||||
.let { UpdateRequestParameters.amendUpdateRequest(it) }
|
||||
.let { UpdateRequestParametersProvider.passUpdateParameters(it) }
|
||||
|
||||
final override fun computePatchUrl(from: BuildNumber, to: BuildNumber): Url =
|
||||
computeCustomPatchDownloadUrl(from, to)
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.intellij.platform.ide.impl.customization
|
||||
|
||||
import com.intellij.openapi.application.ApplicationInfo
|
||||
import com.intellij.openapi.application.ex.ApplicationInfoEx
|
||||
import com.intellij.openapi.updateSettings.impl.UpdateRequestParameters
|
||||
import com.intellij.openapi.updateSettings.impl.UpdateRequestParametersProvider
|
||||
import com.intellij.openapi.util.BuildNumber
|
||||
import com.intellij.openapi.util.SystemInfo
|
||||
import com.intellij.platform.ide.customization.ExternalProductResourceUrls
|
||||
@@ -25,7 +25,7 @@ class LegacyExternalProductResourceUrls : ExternalProductResourceUrls {
|
||||
return Urls.newFromEncoded(customUrl)
|
||||
}
|
||||
val baseUrl = ApplicationInfoEx.getInstanceEx().updateUrls?.checkingUrl ?: return null
|
||||
return UpdateRequestParameters.amendUpdateRequest(Urls.newFromEncoded(baseUrl))
|
||||
return UpdateRequestParametersProvider.passUpdateParameters(Urls.newFromEncoded(baseUrl))
|
||||
}
|
||||
|
||||
override fun computePatchUrl(from: BuildNumber, to: BuildNumber): Url? {
|
||||
|
||||
@@ -1162,6 +1162,8 @@
|
||||
testServiceImplementation="com.intellij.openapi.updateSettings.impl.pluginsAdvertisement.HeadlessPluginAdvertiserServiceImpl"/>
|
||||
<applicationService
|
||||
serviceImplementation="com.intellij.openapi.updateSettings.impl.pluginsAdvertisement.GlobalIgnoredPluginSuggestionState"/>
|
||||
<applicationService serviceInterface="com.intellij.openapi.updateSettings.impl.UpdateRequestParametersProvider"
|
||||
serviceImplementation="com.intellij.openapi.updateSettings.impl.DefaultUpdateRequestParametersProvider"/>
|
||||
<dependencyCollector kind="executable"
|
||||
implementation="com.intellij.openapi.updateSettings.impl.pluginsAdvertisement.EnvironmentDependencyCollector"/>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user