void (UpdateSettings settings) { ChannelStatus current = settings.getSelectedChannelStatus(); LOG.info("channel: " + current.getCode()); UpdateStrategyCustomization customization = UpdateStrategyCustomization.getInstance(); ChannelStatus changedChannel = customization.changeDefaultChannel(current); if (changedChannel != null) { settings.setSelectedChannelStatus(changedChannel); LOG.info("channel set to '" + changedChannel.getCode() + "' by " + customization.getClass().getName()); return; } var appInfo = ApplicationInfoEx.getInstanceEx(); if (appInfo.isMajorEAP() && current != ChannelStatus.EAP && customization.forceEapUpdateChannelForEapBuilds()) { settings.setSelectedChannelStatus(ChannelStatus.EAP); LOG.info("channel forced to 'eap'"); if (!ConfigImportHelper.isFirstSession()) { String title = IdeBundle.message("updates.notification.title", ApplicationNamesInfo.getInstance().getFullProductName()); String message = IdeBundle.message("update.channel.enforced", ChannelStatus.EAP); UpdateChecker.getNotificationGroup() .createNotification(title, message, NotificationType.INFORMATION) .setDisplayId("ide.update.channel.switched") .notify(null); } } if (!appInfo.isEAP() && !appInfo.isPreview() && current == ChannelStatus.EAP && ConfigImportHelper.isConfigImported()) { settings.setSelectedChannelStatus(ChannelStatus.RELEASE); LOG.info("channel set to 'release'"); } }