summaryrefslogtreecommitdiff
path: root/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/UpdateChecker.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/UpdateChecker.java')
-rw-r--r--platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/UpdateChecker.java34
1 files changed, 20 insertions, 14 deletions
diff --git a/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/UpdateChecker.java b/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/UpdateChecker.java
index 354f89c22820..83858cc4fb40 100644
--- a/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/UpdateChecker.java
+++ b/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/UpdateChecker.java
@@ -239,13 +239,13 @@ public final class UpdateChecker {
updateSettings.myOutdatedPlugins.clear();
if (!toUpdate.isEmpty()) {
try {
- final List<IdeaPluginDescriptor> process = RepositoryHelper.loadPluginsFromRepository(indicator);
+ final List<IdeaPluginDescriptor> process = RepositoryHelper.loadPluginsFromRepository(indicator, buildNumber);
for (IdeaPluginDescriptor loadedPlugin : process) {
final PluginId pluginId = loadedPlugin.getPluginId();
final String idString = pluginId.getIdString();
if (!toUpdate.containsKey(idString)) continue;
if (!downloaded.containsKey(pluginId)) {
- prepareToInstall(PluginDownloader.createDownloader(loadedPlugin), buildNumber, downloaded, incompatiblePlugins, true, indicator);
+ prepareToInstall(PluginDownloader.createDownloader(loadedPlugin, buildNumber), buildNumber, downloaded, incompatiblePlugins, true, indicator);
}
}
}
@@ -376,7 +376,7 @@ public final class UpdateChecker {
final List<IdeaPluginDescriptor> descriptors = RepositoryHelper.loadPluginsFromDescription(inputStream, indicator);
for (IdeaPluginDescriptor descriptor : descriptors) {
((PluginNode)descriptor).setRepositoryName(host);
- prepareToInstall(PluginDownloader.createDownloader(descriptor), buildNumber, downloaded, incompatiblePlugins, collectToUpdate,
+ prepareToInstall(PluginDownloader.createDownloader(descriptor, buildNumber), buildNumber, downloaded, incompatiblePlugins, collectToUpdate,
indicator);
}
@@ -424,7 +424,7 @@ public final class UpdateChecker {
if (progressIndicator != null) {
progressIndicator.setText2(finalPluginUrl);
}
- final PluginDownloader downloader = new PluginDownloader(pluginId, finalPluginUrl, pluginVersion, null, null);
+ final PluginDownloader downloader = new PluginDownloader(pluginId, finalPluginUrl, pluginVersion, null, null, buildNumber);
prepareToInstall(downloader, buildNumber, downloaded, incompatiblePlugins, collectToUpdate, indicator);
}
catch (IOException e) {
@@ -624,11 +624,15 @@ public final class UpdateChecker {
urlToCheck = url;
}
- HttpURLConnection connection = ApplicationManager.getApplication() != null ?
- HttpConfigurable.getInstance().openHttpConnection(urlToCheck) :
- (HttpURLConnection)new URL(urlToCheck).openConnection();
- connection.setReadTimeout(HttpConfigurable.CONNECTION_TIMEOUT);
- connection.setConnectTimeout(HttpConfigurable.CONNECTION_TIMEOUT);
+ HttpURLConnection connection;
+ if (ApplicationManager.getApplication() != null) {
+ connection = HttpConfigurable.getInstance().openHttpConnection(urlToCheck);
+ }
+ else {
+ connection = (HttpURLConnection)new URL(urlToCheck).openConnection();
+ connection.setReadTimeout(HttpConfigurable.CONNECTION_TIMEOUT);
+ connection.setConnectTimeout(HttpConfigurable.CONNECTION_TIMEOUT);
+ }
connection.connect();
inputStreams[0] = connection.getInputStream();
@@ -862,7 +866,7 @@ public final class UpdateChecker {
}
}
- static String getDownloadUrl(IdeaPluginDescriptor descriptor) throws UnsupportedEncodingException {
+ static String getDownloadUrl(IdeaPluginDescriptor descriptor, @Nullable BuildNumber buildNumber) throws UnsupportedEncodingException {
String url = null;
if (descriptor instanceof PluginNode) {
url = ((PluginNode)descriptor).getDownloadUrl();
@@ -881,11 +885,13 @@ public final class UpdateChecker {
String uuid = ApplicationManager.getApplication() == null ?
UUID.randomUUID().toString() :
getInstallationUID(PropertiesComponent.getInstance());
- String buildNumber = ApplicationManager.getApplication() != null
- ? ApplicationInfo.getInstance().getApiVersion()
- : ApplicationInfoImpl.getShadowInstance().getBuild().asString();
+ String buildNumberAsString = buildNumber != null
+ ? buildNumber.asString()
+ : ApplicationManager.getApplication() != null
+ ? ApplicationInfo.getInstance().getApiVersion()
+ : ApplicationInfoImpl.getShadowInstance().getBuild().asString();
url = RepositoryHelper.getDownloadUrl() + URLEncoder.encode(descriptor.getPluginId().getIdString(), "UTF8") +
- "&build=" + buildNumber + "&uuid=" + URLEncoder.encode(uuid, "UTF8");
+ "&build=" + buildNumberAsString + "&uuid=" + URLEncoder.encode(uuid, "UTF8");
}
return url;
}