Cleanup (update channel queueing/setting switched to enum)

This commit is contained in:
Roman Shevchenko
2015-11-30 15:35:54 +01:00
parent 90794228ab
commit 01690701f1
3 changed files with 37 additions and 30 deletions
@@ -58,7 +58,7 @@ public class UpdateCheckerComponent implements ApplicationComponent {
};
private final UpdateSettings mySettings;
public UpdateCheckerComponent(@NotNull final Application app, @NotNull UpdateSettings settings) {
public UpdateCheckerComponent(@NotNull Application app, @NotNull UpdateSettings settings) {
mySettings = settings;
updateDefaultChannel();
checkSecureConnection(app);
@@ -67,11 +67,11 @@ public class UpdateCheckerComponent implements ApplicationComponent {
private void updateDefaultChannel() {
if (ApplicationInfoEx.getInstanceEx().isEAP() && UpdateStrategyCustomization.getInstance().forceEapUpdateChannelForEapBuilds()) {
mySettings.setUpdateChannelType(ChannelStatus.EAP.getCode());
mySettings.setSelectedChannelStatus(ChannelStatus.EAP);
}
}
private void checkSecureConnection(@NotNull final Application app) {
private void checkSecureConnection(final Application app) {
if (mySettings.isSecureConnection() && !mySettings.canUseSecureConnection()) {
mySettings.setSecureConnection(false);
@@ -98,7 +98,7 @@ public class UpdateCheckerComponent implements ApplicationComponent {
}
}
private void scheduleOnStartCheck(@NotNull Application app) {
private void scheduleOnStartCheck(Application app) {
if (!mySettings.isCheckNeeded()) {
return;
}
@@ -55,6 +55,18 @@ public class UpdateSettings implements PersistentStateComponent<UpdateSettings.S
private State myState = new State();
@NotNull
@Override
public State getState() {
return myState;
}
@Override
public void loadState(@NotNull State state) {
myState = state;
myState.LAST_BUILD_CHECKED = StringUtil.nullize(myState.LAST_BUILD_CHECKED);
}
@Nullable
public String getLasBuildChecked() {
return myState.LAST_BUILD_CHECKED;
@@ -81,31 +93,10 @@ public class UpdateSettings implements PersistentStateComponent<UpdateSettings.S
myState.SECURE_CONNECTION = value;
}
@NotNull
public String getUpdateChannelType() {
return myState.UPDATE_CHANNEL_TYPE;
}
public long getLastTimeChecked() {
return myState.LAST_TIME_CHECKED;
}
public void setUpdateChannelType(@NotNull String value) {
myState.UPDATE_CHANNEL_TYPE = value;
}
@NotNull
@Override
public State getState() {
return myState;
}
@Override
public void loadState(@NotNull State state) {
myState = state;
myState.LAST_BUILD_CHECKED = StringUtil.nullize(myState.LAST_BUILD_CHECKED);
}
@NotNull
@Override
public List<String> getKnownChannelsIds() {
@@ -133,6 +124,10 @@ public class UpdateSettings implements PersistentStateComponent<UpdateSettings.S
return ChannelStatus.fromCode(myState.UPDATE_CHANNEL_TYPE);
}
public void setSelectedChannelStatus(@NotNull ChannelStatus channel) {
myState.UPDATE_CHANNEL_TYPE = channel.getCode();
}
public List<String> getPluginHosts() {
List<String> hosts = new ArrayList<String>(myState.pluginHosts);
String pluginHosts = System.getProperty("idea.plugin.hosts");
@@ -154,4 +149,16 @@ public class UpdateSettings implements PersistentStateComponent<UpdateSettings.S
public boolean canUseSecureConnection() {
return myState.SECURE_CONNECTION && NetUtils.isSniEnabled();
}
/** @deprecated use {@link #getSelectedChannelStatus()} (to be removed in IDEA 17) */
@SuppressWarnings("unused")
public String getUpdateChannelType() {
return myState.UPDATE_CHANNEL_TYPE;
}
/** @deprecated use {@link #setSelectedChannelStatus(ChannelStatus)} (to be removed in IDEA 17) */
@SuppressWarnings("unused")
public void setUpdateChannelType(@NotNull String value) {
myState.UPDATE_CHANNEL_TYPE = value;
}
}
@@ -110,7 +110,7 @@ public class UpdateSettingsConfigurable extends BaseConfigurable implements Sear
}
}
mySettings.setUpdateChannelType(myPanel.getSelectedChannelType().getCode());
mySettings.setSelectedChannelStatus(myPanel.getSelectedChannelType());
mySettings.setSecureConnection(myPanel.myUseSecureConnection.isSelected());
}
@@ -119,7 +119,7 @@ public class UpdateSettingsConfigurable extends BaseConfigurable implements Sear
myPanel.myCheckForUpdates.setSelected(mySettings.isCheckNeeded());
myPanel.myUseSecureConnection.setSelected(mySettings.isSecureConnection());
myPanel.updateLastCheckedLabel();
myPanel.setSelectedChannelType(ChannelStatus.fromCode(mySettings.getUpdateChannelType()));
myPanel.setSelectedChannelType(mySettings.getSelectedChannelStatus());
}
@Override
@@ -134,7 +134,7 @@ public class UpdateSettingsConfigurable extends BaseConfigurable implements Sear
}
Object channel = myPanel.myUpdateChannels.getSelectedItem();
return channel != null && !channel.equals(ChannelStatus.fromCode(mySettings.getUpdateChannelType()));
return channel != null && !channel.equals(mySettings.getSelectedChannelStatus());
}
@Override
@@ -181,7 +181,7 @@ public class UpdateSettingsConfigurable extends BaseConfigurable implements Sear
Project project = CommonDataKeys.PROJECT.getData(DataManager.getInstance().getDataContext(myCheckNow));
UpdateSettings settings = new UpdateSettings();
settings.loadState(mySettings.getState());
settings.setUpdateChannelType(getSelectedChannelType().getCode());
settings.setSelectedChannelStatus(getSelectedChannelType());
settings.setSecureConnection(myUseSecureConnection.isSelected());
UpdateChecker.updateAndShowResult(project, settings);
updateLastCheckedLabel();
@@ -192,7 +192,7 @@ public class UpdateSettingsConfigurable extends BaseConfigurable implements Sear
myCheckNow.setVisible(false);
}
final ChannelStatus current = ChannelStatus.fromCode(mySettings.getUpdateChannelType());
final ChannelStatus current = mySettings.getSelectedChannelStatus();
//noinspection unchecked
myUpdateChannels.setModel(new CollectionComboBoxModel<ChannelStatus>(Arrays.asList(ChannelStatus.values()), current));
myUpdateChannels.setEnabled(